首页 > 解决方案 > FFMPEG 使用 concat 在窗口中创建多个输出

问题描述

我想用 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

它给了我错误“无法为'\'找到合适的输出格式:无效参数”

标签: batch-fileffmpeg

解决方案


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\从命令中删除。相当长的命令行使用^和换行符在许多行中继续,以使其更易于查看。

为了清晰起见,路径已被双引号括起来。


推荐阅读