ffmpeg - FFMPEG 脚本用于合并列表中的所有文件并制作 1920x1080p 60fps mp4 视频
问题描述
我在一个文本文件中有一个包含 46 个视频的列表。我尝试了 concat 方法来合并所有这些,该方法有效,但质量很差,并且音频在某些部分出现错误/丢失。
有人可以帮我编写一个脚本来合并所有 46 个视频并输出为 1920x1080 60fps mp4 视频吗?
解决方案
首先,您必须缩放所有视频,您可以在仅包含视频的目录中使用这样的脚本。假设它们具有不同的格式,从而使所有格式相同可以使事情变得容易。
for i in *;
do name= echo "$i" | cut -d'.' -f1
echo "$name"
ffmpeg -i "$i" -c:v copy -c:a copy -pixel_format yuv420p -s 1920x1080 -r 60 -async 1 "${name}.mp4"
(或者
ffmpeg -i "$i" -c:v h264 -c:a aac -b:a 128k -pixel_format yuv420p -s 1920x1080 -r 60 -async 1 "${name}.mp4"
如果您仍然有音频问题。)
-r 通过将帧相乘将每个视频的帧速率强制为 60;检查视频和音频的质量,做你的清单,然后:
ffmpeg -f concat -safe 0 -i list.txt -c:v copy -c:a copy concat.mp4
推荐阅读
- react-native - 没有将参数放入bottomTabNavigator
- alfresco - 我可以在不修改 share-config-custom.xml 的情况下修改 Alfresco 自定义数据列表显示吗?
- javascript - Intl.DateTimeFormat 不会在 2 位数月 + 日 (IE 11) 上输出分隔符
- c# - c#断言整数序列是增量的
- qt - 即使从 MSVC2017 构建,Qt 应用程序也会提示计算机上缺少 msvcp120.dll
- arrays - Jenkins 参数/全局变量表
- mongodb - Mongo groupby 对象键但保留整个对象/字典
- docker - 使用带有端口映射的 docker-compose 进行本地 Kafka 测试
- mysql - mysql搜索查询问题,如查询
- powershell - 比较powershell中的两个哈希表