我正在尝试对视频进行编码以用于 mpeg dash 流媒体,我使用了以下命令(我从这篇文章中获取了它:http://blog.streamroot.io/encode-multi-bitrate-videos-mpeg-dash-mse-based-media-players/):
cd c:\ffmpeg\bin
set inputFile="C:\park.mp4"
set outputFile="C:\content\park"
ffmpeg -y -i %inputFile% -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -r 24 – g 24 -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" %outputFile%_720.mp4
运行命令后出现以下问题:
[NULL @ 0000000002f43dc0] Unable to find a suitable output format for 'ΓÇô' ΓÇô: Invalid argument
我尝试了其他视频,但错误是一样的。
我该如何解决这个问题?
答案1
问题是,在命令行中间的“g”之前有一个“特殊”连字符,后面跟着一个空格,它被称为“破折号“这会使你的解析器感到困惑。
比较:
Hyphen: -
Em dash: —
En dash: –
您的脚本应该是(据我所知):
cd c:\ffmpeg\bin
set inputFile="C:\park.mp4"
set outputFile="C:\content\park"
ffmpeg -y -i %inputFile% -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -r 24 -g 24 -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" %outputFile%_720.mp4
我认为您复制脚本的文章是使用某种文字处理器创建的,当在“g”之前意外输入空格后,该文字处理器会自动替换破折号,然后将其复制并粘贴到文章的其余部分。
提示来自这个问题
答案2
我看到的第一件事:破折号和g
用于指定 gop 长度的 之间有一个空格。我认为 FFmpeg 认为您正在尝试保存名为“-”的输出。尝试删除空格。