How can I solve multiple audio + video mixing and overlay problem
Hi, please excuse me for bad english. I need to create six overlayed video (and it included six mixed audio, too). And I wanna that 1. Input is 12 audio and videos (6 are only audio stream included, and 6 are only video stream included files). 2. Output is 4 RTP stream (1,2 is same thing - mixed all audio stream 3,4 is same thing - overlayed all video). 3. Output video structure is below. <http://ffmpeg-users.933282.n4.nabble.com/file/n4669854/output_structure.jpg> In order to do this I use following command: ./ffmpeg -i 1.mp3 -i 2.mp3 -i 3.mp3 -i 4.mp3 -i 5.mp3 -i 6.mp3 \ -i video1.mp4 -i video2.mp4 -i video3.mp4 -i video4.mp4 -i video5.mp4 -i video6.mp4 \ -filter_complex \ amix=inputs=6:duration=longest:dropout_transition=6,asplit=2[a1][a2], \ nullsrc=s=1280x720 \ [base];insrc=s=320x360,vsplits2[iv1][iv2]; \ [iv1][base]overlay=0:0[mid1]; \ [iv2][mid1]overlay=0:0[mid2]; \ [iv3][mid2]overlay=0:0[mid3]; \ [iv4][mid3]overlay=0:0[mid4]; \ [iv5][mid4]overlay=0:0[mid5]; \ [iv6][mid5]overlay=0:0[mid6]; \ [0:v]scale=426x360[iv0];[1:v]scale=426x360[iv1];[2:v]scale=426x360[iv2];[3:v]scale=426x360[iv3];[4:v]scale=426x360[iv4];[5:v]scale=426x360[iv5]; [base][iv0]overlay=1 \ [tmp0];[tmp0][iv1]overlay=1:x=426[tmp1]; \ [tmp1][iv2]overlay=1:x=852[tmp2]; \ [tmp2][iv3]overlay=1:y=360[tmp3]; \ [tmp3][iv4]overlay=1:x=426:y=360[tmp4];\ [tmp4][iv5]overlay=1:x=852:y=360[tmp5]; \ -map [a1] c:a mp3 -f rtp -y rtp://111.111.111.111:11111 \ -map [a2] c:a mp3 -f rtp -y rtp://222.222.222.222:22222 \ -map [v1] c:a libx264 -f rtp -y rtp://333.333.333.333:33333 \ -map [v2] c:a libx264 -f rtp -y rtp://444.444.444.444:44444 but It doesn`t work... Error Message is below At least one output file must be specified -bash: [iv1][base]overlay=0:0[mid1]: command not found -bash: [iv2][mid1]overlay=0:0[mid2]: command not found -bash: [iv3][mid2]overlay=0:0[mid3]: command not found -bash: [iv4][mid3]overlay=0:0[mid4]: command not found -bash: [iv5][mid4]overlay=0:0[mid5]: command not found -bash: [iv6][mid5]overlay=0:0[mid6]: command not found -bash: [0:v]scale=426x360[iv0]: command not found -bash: [1:v]scale=426x360[iv1]: command not found -bash: [2:v]scale=426x360[iv2]: command not found -bash: [3:v]scale=426x360[iv3]: command not found -bash: [4:v]scale=426x360[iv4]: command not found -bash: [5:v]scale=426x360[iv5]: command not found -bash: [base][iv0]overlay=1[tmp0]: command not found -bash: [tmp0][iv1]overlay=1:x=426[tmp1]: command not found -bash: [tmp1][iv2]overlay=1:x=852[tmp2]: command not found -bash: [tmp2][iv3]overlay=1:y=360[tmp3]: command not found -bash: [tmp3][iv4]overlay=1:x=426:y=360[tmp4]: command not found -bash: [tmp4][iv5]overlay=1:x=852:y=360[tmp5]: command not found -bash: -map: command not found What am I wrong? -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/How-can-I-solve-multiple-audio-vide... Sent from the FFmpeg-users mailing list archive at Nabble.com.
Oh Thanks. I modified it. But problem is occued. command line: ./ffmpeg -i multimedia_sample/audio/1.amr -i multimedia_sample/audio/2.amr -i multimedia_sample/audio/3.amr -i multimedia_sample/audio/4.amr -i multimedia_sample/audio/5.amr -i multimedia_sample/audio/6.amr -i multimedia_sample/video/1_1.mp4 -i multimedia_sample/video/2_1.mp4 -i multimedia_sample/video/3_1.mp4 -i multimedia_sample/video/4_1.mp4 -i multimedia_sample/video/5_1.mp4 -i multimedia_sample/video/6_1.mp4 -filter_complex "amix=inputs=6:duration=longest:dropout_transition=6,asplit=2[a1][a2],nullsrc=s=1280x720[base];split=2[iv1][iv2];[iv1][base]overlay=0:0[mid1];[iv2][mid1]overlay=0:0[mid2];[iv3][mid2]overlay=0:0[mid3];[iv4][mid3]overlay=0:0[mid4];[iv5][mid4]overlay=0:0[mid5];[iv6][mid5]overlay=0:0[mid6];[0:v]scale=426x360[iv0];[1:v]scale=426x360[iv1];[2:v]scale=426x360[iv2];[3:v]scale=426x360[iv3];[4:v]scale=426x360[iv4];[5:v]scale=426x360[iv5];[base][iv0]overlay=1[tmp0];[tmp0][iv1]overlay=1:x=426[tmp1];[tmp1][iv2]overlay=1:x=852[tmp2];[tmp2][iv3]overlay=1:y=360[tmp3];[tmp3][iv4]overlay=1:x=426:y=360[tmp4];[tmp4][iv5]overlay=1:x=852:y=360[tmp5]" -map [a1] c:a mp3 -f rtp -y rtp://111.111.111.111:11111 -map [a2] c:a mp3 -f rtp -y rtp://222.222.222.222:22222 -map [v1] c:a libx264 -f rtp -y rtp://333.333.333.333:33333 -map [v2] c:a libx264 -f rtp -y rtp://444.444.444.444:44444 and then. Stream specifier 'iv6' in filtergraph description amix=inputs=6:duration=longest:dropout_transition=6,asplit=2[a1][a2],nullsrc=s=1280x720[base];split=2[iv1][iv2];[iv1][base]overlay=0:0[mid1];[iv2][mid1]overlay=0:0[mid2];[iv3][mid2]overlay=0:0[mid3];[iv4][mid3]overlay=0:0[mid4];[iv5][mid4]overlay=0:0[mid5];[iv6][mid5]overlay=0:0[mid6];[0:v]scale=426x360[iv0];[1:v]scale=426x360[iv1];[2:v]scale=426x360[iv2];[3:v]scale=426x360[iv3];[4:v]scale=426x360[iv4];[5:v]scale=426x360[iv5];[base][iv0]overlay=1[tmp0];[tmp0][iv1]overlay=1:x=426[tmp1];[tmp1][iv2]overlay=1:x=852[tmp2];[tmp2][iv3]overlay=1:y=360[tmp3];[tmp3][iv4]overlay=1:x=426:y=360[tmp4];[tmp4][iv5]overlay=1:x=852:y=360[tmp5] matches no streams. maybe it`s command problem. but I don`t know... what is wrong... Please let me know that is the problem... Jeromy. -- View this message in context: http://ffmpeg-users.933282.n4.nabble.com/How-can-I-solve-multiple-audio-vide... Sent from the FFmpeg-users mailing list archive at Nabble.com.
On Wed, Apr 08, 2015 at 19:31:50 -0700, Jeromy wrote:
Stream specifier 'iv6' in filtergraph description amix=inputs=6:duration=longest:dropout_transition=6,asplit=2[a1][a2],nullsrc=s=1280x720[base];split=2[iv1][iv2];[iv1][base]overlay=0:0[mid1];[iv2][mid1]overlay=0:0[mid2];[iv3][mid2]overlay=0:0[mid3];[iv4][mid3]overlay=0:0[mid4];[iv5][mid4]overlay=0:0[mid5];[iv6][mid5]overlay=0:0[mid6];[0:v]scale=426x360[iv0];[1:v]scale=426x360[iv1];[2:v]scale=426x360[iv2];[3:v]scale=426x360[iv3];[4:v]scale=426x360[iv4];[5:v]scale=426x360[iv5];[base][iv0]overlay=1[tmp0];[tmp0][iv1]overlay=1:x=426[tmp1];[tmp1][iv2]overlay=1:x=852[tmp2];[tmp2][iv3]overlay=1:y=360[tmp3];[tmp3][iv4]overlay=1:x=426:y=360[tmp4];[tmp4][iv5]overlay=1:x=852:y=360[tmp5] matches no streams.
maybe it`s command problem.
Of course it's a filter command problem. Check your filter argument. At one point, you use [iv6] as input, but you never create it anywhere: [iv6][mid5]overlay=0:0[mid6] I think this is a very obvious error, and ffmpeg's message is very clear about this. A little hint, in case your eyes are too tired: With your six scale filters, you create iv0..iv5. But in your six overlay filters, you use iv1..iv6 as inputs. Stop thinking like a computer scientist and always start counting at 1. ;-) (Or vice versa.) Moritz
participants (3)
-
Dorian Meid -
Jeromy -
Moritz Barsnick