我想用 ffmpeg 转换不同文件大小的视频。
在 Debian 上,以下代码可以正常工作
ffmpeg -i /var/www/clients/client1/web46/cdn/latenight/latenight-22-Sep-18-21:09:01.flv -i /var/www/clients/client1/web46/cdn/latenight/latenight-22-Sep-18-21:09:01.flv \ -preset ultrafast -strict -2 -threads 1 -c:v libx265 -crf 25 -r 60 -movflags +faststart -c:a ac3 -ar 48000 -b:a 320k /var/www/clients/client1/web46/cdn/latenight/test_high.mp4 \ -preset ultrafast -strict -2 -threads 1 -c:v libx265 -crf 25 -r 60 -vf scale=640:360 -movflags +faststart -c:a ac3 -b:a 128k /var/www/clients/client1/web46/cdn/latenight/test_low.mp4;
在带有 concat 的 windows 批处理中:
ffmpeg -f concat -safe 0 -i D:\-=streaming=-\concats\convertme\index.txt -i D:\-=streaming=-\concats\convertme\index.txt \ -y -preset slow -c:v libx265 -crf 25 -r 60 -movflags +faststart -c:a ac3 -b:a 320k D:\-=streaming=-\concats\x265-website_high.mp4 \ -y -preset slow -c:v libx265 -crf 25 -r 60 -vf scale=640:360 -movflags +faststart -c:a ac3 -b:a 128k D:\-=streaming=-\concats\x265-website_low.mp4
它给了我错误“无法为'\'找到合适的输出格式
: 无效的论点”
最佳答案
ffmpeg -f concat -safe 0 -i "D:\-=streaming=-\concats\convertme\index.txt"^
-i "D:\-=streaming=-\concats\convertme\index.txt"^
-y -preset slow -c:v libx265 -crf 25 -r 60 -movflags +faststart^
-c:a ac3 -b:a 320k "D:\-=streaming=-\concats\x265-website_high.mp4"^
-y -preset slow -c:v libx265 -crf 25 -r 60 -vf scale=640:360^
-movflags +faststart -c:a ac3 -b:a 128k^
"D:\-=streaming=-\concats\x265-website_low.mp4"
在 bash 中,反斜杠和换行符是续行。
批处理文件中的续行是插入符号
^
和换行符。2
\
从命令中删除。相当长的命令行跨多行继续
使用
^
和换行符,使其更紧凑的查看。为了清晰起见,路径已被双引号括起来。
关于batch-file - FFMPEG 使用 concat 在窗口中创建多个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52528583/