流说明符':v:0'在filtergraph描述[1:v:0] [1:a:0] [2:v:0] [2:a:0] [3:v:0] [3:v:0] concat = n = 4 :v = 1:a = 1 [v] [a]匹配没有流

时间:2017-07-12 21:56:51

标签: ffmpeg

这是我的命令(url1,url2,url3,url4是占位符):

ffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex "[1:v:0] [1:a:0] [2:v:0] [2:a:0] [3:v:0] [3:v:0] concat=n=4:v=1:a=1 [v] [a]" -map [v] -map [a] /Users/myname/Downloads/f1-2017-07-12.mp4 -y

我收到此错误

Stream specifier ':v:0' in filtergraph description [1:v:0] [1:a:0] [2:v:0] [2:a:0] [3:v:0] [3:v:0] concat=n=4:v=1:a=1 [v] [a] matches no streams.

不确定发生了什么。我单独尝试了所有网址,它们都可以工作(视频和音频)。我尝试连接它时只是出现了这个错误。

我还尝试使用filter_complex的另一种语法:

ffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex [0:0] [0:1] [1:0] [1:1] [2:0] [2:1] [3:0] [3:1] concat=n=4:v=1:a=1 [v] [a] -map [v] [a] /Users/timurridjanovic/Downloads/f1-2017-07-12.mp4 -y

我收到了这个错误:

[AVFilterGraph @ 0x7ffe91703a00] No such filter: '' Error initializing complex filters. Invalid argument

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

指定4个段进行连接,但仅提供3个。

使用

ffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex "[1:v:0] [1:a:0] [2:v:0] [2:a:0] [3:v:0] [3:a:0] concat=n=3:v=1:a=1 [v] [a]" -map [v] -map [a] /Users/myname/Downloads/f1-2017-07-12.mp4 -y

ffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] [2:v:0] [2:a:0] [3:v:0] [3:a:0] concat=n=4:v=1:a=1 [v] [a]" -map [v] -map [a] /Users/myname/Downloads/f1-2017-07-12.mp4 -y

答案 1 :(得分:0)

此解决方案似乎有效:

services.AddDataProtection() .SetApplicationName("Testervice") .ProtectKeysWithCertificate(newCert);

我需要先调整所有视频的大小,然后将它们连接起来。问题在于视频的大小不同。