我在Linux服务器中使用convert.sh
如下,通过使用这个shell,与原始文件相比,原始MP4文件已更改为小尺寸avi文件(100%→4~5%)。顺便说一句,它的分辨率不好,我们可以在屏幕上看到宏块。我们怎样才能根据需要调整视频分辨率呢?您能分享一下解决方案吗?
#!/bin/bashmp4file=$(echo *.MP4)
for file in $mp4file;
do {
Outfile=$(echo $file | sed "s/MP4/.avi/g")
ffmpeg -i $file -c:a copy -s 1280×720 $Outfile
}
done;
答案1
使用比普通 mpeg4(例如 h264 甚至 h265)更高效的编码器。最好是更新的容器,例如 mp4。这是使用 h265 的示例:
Outfile=$(echo $file | sed "s/MP4/.mp4/g")
ffmpeg -i $file -c:v libx265 -crf 25 -c:a copy $Outfile
此示例保持原始视频的分辨率(在您的示例中,分辨率是明确设置的)。根据您的喜好调整“恒定速率因子”参数(数字越小,质量越高)。请参阅维基百科了解更多选项和示例。