gpt4 book ai didi

video - 如何使 FFmpeg 使用输出编解码器和 pix_fmt 与输入相同

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

我正在尝试编写一个批处理 shell 脚本来调整视频的大小,这些视频具有不可预测的编解码器和容器。
我希望调整大小的视频应该与原始视频基本相同,但图像大小除外。这意味着在 mov 容器中使用 png 编解码器的视频应该使用 png 编解码器而不是 h264 输出。

但我意识到仅保持扩展名相同是不够的。 FFmpeg 倾向于使用与扩展名关联的默认编码器,而不是尝试与输入保持相同。

是否有任何神奇的参数可以告诉 FFmpeg 尝试使用输入编解码器而不是通过输出文件名猜测?

运行 FFmpeg 两次以提前获取信息将是我最后的选择,因为它会使我的脚本变得更加复杂。

最佳答案

使用 ffprobe 获取编解码器,然后在 ffmpeg 上指定它们命令,伪代码类似于:

output = parse_json( `ffprobe -v quiet -show_streams -print_format json output.mp4` )
stream_args = ""
for stream in output['streams']:
stream_args += " -codec:0:" + stream['index'] + " " + stream['codec_name']

ffmpeg_cmd = "ffmpeg -i input.mp4 " + stream_args + " output.mp4

关于video - 如何使 FFmpeg 使用输出编解码器和 pix_fmt 与输入相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356202/

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