我有一个从我的数码相机拍摄的 AVI 和 MOV 电影的目录。我想编写一个 Python 脚本来遍历它们,并为它找到的每个 AVI 或 MOV 生成一个可以在 Apple 产品(iPad、Apple TV 等)上查看的文件。我的视频是 1080p,我有兴趣尽可能多地保留原始质量。
有关如何使用 ffmpeg 执行此操作的任何示例?具体来说,传递给可执行文件的标志?我要进行一次或两次编码吗(有什么区别?)
我希望在 Python 中完成脚本部分。
好吧,设备屏幕比 1080p 小得多。因此,尝试在 720p 屏幕上显示 1080p 视频是没有意义的。最好是你有几个配置文件。一种用于大屏幕,一种用于较小的屏幕。
要播放单个流,您需要基线配置文件单个参考帧 H.264。如果要从服务器播放流,则创建 hls 文件。如果要在本地播放,我认为 mp4 就足够了。
ffmpeg -i <input> -acodec aac -strict -2 -b:a <audio bitrate> -profile baseline -s <widthxheight> -b:v <video bitrate> -pass 1 output.mp4
后跟相同的命令,但 pass 设置为 2
以上内容足以创建视频。两次通过优于 1,因为编码器有第二次机会查看内容,并且在第一次通过时它会收集一些统计信息。
谷歌一下其他一些标志。那里有很多例子。上面的那些应该可以工作。将 < > 部分替换为您想要的值
这是一个实际示例: ffmpeg -i input.ts -acodec aac -strict -2 -b:a 128k -profile baseline -s 320x240 -b:v 2000k -pass 1 output.mp4