具有远程覆盖源的FFMPEG视频覆盖

时间:2012-05-17 20:15:12

标签: video ffmpeg overlay

我正在尝试使用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:// ...

谢谢, 弗朗西斯。

1 个答案:

答案 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"

那应该解决它。