You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用FFmpeg处理PNG序列时的多版本冲突问题求助

Python调用FFmpeg合成视频的版本与参数冲突问题

在Bash终端直接执行以下FFmpeg命令,可正常将PNG序列与音频合成MP4:

ffmpeg -framerate 25 -pattern_type glob -i 'data/*.png' -i data/download_youtube/_-91nXXjrVo_cut.wav -c:v libx264 -pix_fmt yuv420p data/download_youtube/_-91nXXjrVo_out.mp4

但通过Python调用时出现以下问题:

  • 使用os.system()带引号执行命令:

    os.system(r"ffmpeg -framerate 25 -pattern_type glob -i '/data/share/VFHQ/data/extracted_cropped_face_results/_-91nXXjrVo/Clip+_-91nXXjrVo+P0+C0+F1537-1825/*.png' -i /data/share/VFHQ/data/download_youtube/_-91nXXjrVo_cut.wav -c:v libx264 -pix_fmt yuv420p /data/share/VFHQ/data/download_youtube/out.mp4")
    

    报错:Unknown encoder 'libx264'

  • 移除命令内的引号后执行:

    os.system(r"ffmpeg -framerate 25 -pattern_type glob -i /data/share/VFHQ/data/extracted_cropped_face_results/_-91nXXjrVo/Clip+_-91nXXjrVo+P0+C0+F1537-1825/*.png -i /data/share/VFHQ/data/download_youtube/_-91nXXjrVo_cut.wav -c:v libx264 -pix_fmt yuv420p /data/share/VFHQ/data/download_youtube/out.mp4")
    

    报错:Option pattern_type not found.

  • 改用subprocess.run(command, shell=True)执行,出现上述相同错误;若不启用shell,无论PNG路径是否加引号,都会出现文件找不到或编码器错误。

后续排查发现系统存在两个FFmpeg版本:4.3 和 4.4.2。带引号的命令会调用4.4.2版本,不带引号则调用4.3版本;且4.3版本无法识别libx264编码器。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:40:36