gpt4 book ai didi

python - 使用 Google Colab 和 FFmpeg 对同一文件夹中的多个文件进行编码

转载 作者:行者123 更新时间:2023-12-04 23:22:08 28 4
gpt4 key购买 nike

我制作了一个 Google colab 来对我的视频进行编码,但实际上我只能一个一个地做文件。
我想对同一文件夹中的所有视频文件进行编码。
我试过这个,但似乎没有用

    import os

DIRECTORY= '/content/drive/My Drive/Videos'
for filename in os.listdir(DIRECTORY):
if (filename.endswith(".mov")): #or .avi, .mpeg, whatever.
os.system("ffmpeg -i {0} -c:v libx265 -crf 26 -c:a aac -b:a 160k output%d.mp4".format(filename))
print(filename)
编辑:我编辑了 FFmpeg 命令,但仍然无法在 Google Colab 上运行。
编辑 2:打印命令仅返回扩展名为“MyMovie.mov”的文件的名称我如何将完整路径放入 ffmpeg 命令?我还想将输出文件放到名为 x265 的子文件夹中

最佳答案

我尝试使用您的代码,Python 部分似乎很好。使用 FFmpeg 可以很方便地检查命令的输出,每次您的程序不按您希望的方式运行时,您都应该检查它。
所以我检查了终端中的 FFmmpeg 输出,一切似乎都很好。实际上,您的命令可以完美运行,但可能不是您想要的命令。
您键入的命令会从输入文件中输出一张图像。所以它不对视频进行编码。
你不是很清楚你想做什么,但我会试着猜测:

  • 如果你想从图像中编码视频,你应该使用这样的命令

  • ffmpeg -r 24 -f image2 -i PATH_TO_FOLDER/frame%d.png PATH_TO_FOLDER/output.mp4


    所以在这里你用 -r 指定你的帧率(24 不是强制性的),用 -f 指定你的输入格式(在这种情况下是图像)
    这个 link在这种情况下可能会有所帮助。
  • 如果您想从视频中分离帧(最接近您的命令):

  • ffmpeg -i PATH_TO_FOLDER/video.mp4 PATH_TO_FOLDER/frame%d.pngIn this case, this link might help.


    在这两种情况下,您都可能希望将文件名中的编号填充为 0 以供将来使用帧,这已解释为 there。 .后面的链接比前面的更广泛,但它必须涵盖您的 FFmpeg 用例。

    关于python - 使用 Google Colab 和 FFmpeg 对同一文件夹中的多个文件进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63715582/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com