我正在尝试使用ffmpeg实现覆盖,从“远程”视频编码器中获取叠加源。
仅仅是为了测试我使用随机在线视频源。
正如您将在下面的代码中注意到,源和叠加层是相同的。那不是问题。
目前我正在使用的命令如下:
ffmpeg -f mjpeg -i http://81.20.148.158/anony/mjpg.cgi -vf "movie=http://81.20.148.158/anony/mjpg.cgi [mv]; [in][mv] overlay=0:0" output.avi
这是一个易于阅读的版本:
ffmpeg
-f mjpeg
-i http://81.20.148.158/anony/mjpg.cgi
-vf "movie=http://81.20.148.158/anony/mjpg.cgi [mv]; [in][mv] overlay=0:0"
output.avi
我收到了这个错误:
Missing key or no key/value separator found after key '//81.20.148.158/anony/mjpg.cgi'
如果我使用“本地”视频源,例如
,它的效果非常好ffmpeg
-f mjpeg
-i http://81.20.148.158/anony/mjpg.cgi
-vf "movie=a.flv [mv]; [in][mv] overlay=0:0"
output.avi
我觉得双斜杠//或更可能出现错误:http:// ...
谢谢, 弗朗西斯。
答案 0 :(得分:1)
你怀疑这些不寻常的角色是对的。似乎FFmpeg正在尝试将//81.20.148.158/...
解析为传递给电影过滤器的键http
的值,因为key:value
是过滤器用于其参数的格式。
解决方案更引用。将电影过滤行更改为:
-vf "movie='http://81.20.148.158/anony/mjpg.cgi' [mv]; [in][mv] overlay=0:0"
那应该解决它。