2

我正在尝试使用 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://... 中的 : 有问题

谢谢,弗朗西斯科。

4

1 回答 1

1

你怀疑这些不寻常的角色是对的。似乎 FFmpeg 试图解析为传递给电影过滤器//81.20.148.158/...的键的值,因为格式过滤器用于其参数。httpkey:value

解决方案更多引用。将您的电影过滤器行更改为:

-vf "movie='http://81.20.148.158/anony/mjpg.cgi' [mv]; [in][mv] overlay=0:0"

那应该解决它。

于 2012-05-19T03:16:26.127 回答