程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何将 ffmpeg 命令行转换为 ffmpeg-python 代码??

开发过程中遇到如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?的解决方法建议,希望对你解决如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?有所启发或帮助;

我有这个命令行代码:

int

我想在python中将其转换为ffmpeg-python代码。

但不知道该怎么做?

这是我目前所做的:

df.eq

解决方法

您可以添加.global_args('-report')来测试FFmpeg命令行的正确性。

-report 参数生成一个名为 ffmpeg-20210715-000009.log 的日志文件。
日志文件中的第一个文本行是带参数的 ffmpeg 命令行。


有很好的 ffmpeg-python 示例 here 和 here。
您也可以阅读reference(不长)。


您可以使用记录中的“特殊选项名称”:

具有特殊名称的参数,例如 -qscale:v(可变比特率)、-b:v(恒定比特率)等,可以指定为关键字参数字典,如下所示:
...
.output('out.mp4',**{'qscale:v': 3})
...

您可以使用以下命令(使用“特殊名称”):

(
    ffmpeg
    .input('0.mp4')
    .output('out.mkv',**{'c:v': 'libx265'},preset='fast',crf=28,**{'tag:v': 'hvc1'},**{'c:a': 'aac'},**{'bitexact': NonE},map_metadata='-1')
    .global_args('-report')
    .run()
)

在报告的日志文件中,命令行是:

ffmpeg -i 0.mp4 -bitexact -c:a aac -c:v libx265 -crf 28 -map_metadata -1 -preset fast -tag:v hvc1 out.mkv -report

除了输出参数的顺序之外,它与您发布的命令行相同。


为了使用较少的“特殊名称”,您可以用等效名称替换特殊名称:

  • 将:c:v 替换为 vcodec
  • 将:c:a 替换为 acodec
  • tag:v替换vtag

可能有 **{'bitexact': NonE} 的替代品,但我找不到。


更新后的代码是:

(
    ffmpeg
    .input('0.mp4')
    .output('out.mkv',vcodec='libx265',vtag='hvc1',acodec='aac',map_metadata='-1')
    .global_args('-report')
    .run()
)

大佬总结

以上是大佬教程为你收集整理的如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?全部内容,希望文章能够帮你解决如何将 ffmpeg 命令行转换为 ffmpeg-python 代码?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。