[FFmpeg-user] Need help with video filter to create multiple ouput

kslimani at diffusepro.com kslimani at diffusepro.com
Tue Jul 22 11:57:44 CEST 2014


> Hello,
>
> i am trying to transcode a live UDP stream into 4 rtmp output stream using
> a single ffmpeg process but my command line display this error : "At least
> one output file must be specified".
>
> The command i am using is :
>
> ffmpeg -i udp://224.0.0.1:1234 \
> -vf
> "crop=iw-5:ih-5:5:5,yadif,split=2[out0][out1];[out0]scale=1280:720,split=2[src0][src1];[out1]scale=848:480,split=2[src2][src3]"
> \
> -map "[src0]" -aspect 16:9 -r 25 -vb 2500k -vcodec libx264 -vprofile
> baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k -async 1 -f flv
> rtmp://192.168.1.1/live/test_2500 \
> -map "[src1]" -aspect 16:9 -r 25 -vb 1500k -vcodec libx264 -vprofile
> baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k -async 1 -f flv
> rtmp://192.168.1.1/live/test_1500 \
> -map "[src2]" -aspect 16:9 -r 25 -vb 700k -vcodec libx264 -vprofile
> baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k -async 1 -f flv
> rtmp://192.168.1.1/live/test_800 \
> -map "[src3]" -aspect 16:9 -r 25 -vb 250k -vcodec libx264 -vprofile
> baseline -g 50 -acodec libfdk_aac -ac 1 -ar 48000 -ab 48k -async 1 -f flv
> rtmp://192.168.1.1/live/test_300
>
> Basically, i am trying to use video filters to crop & deinterlace the
> input only once, then split in 2, scale into 2 different resolution and
> again split each resolution in 2 and finally use -map option to encode
> each filter output.
>
> My FFmpeg version is compiled today from git sources :
>
> ffmpeg version git-2014-07-21-4927c0a Copyright (c) 2000-2014 the FFmpeg
> developers
>   built on Jul 21 2014 15:44:04 with gcc 4.7 (Debian 4.7.2-5)
>   configuration: --enable-x11grab --enable-gpl --enable-libfaac
> --enable-libfdk-aac --enable-libopus --enable-libmp3lame
> --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp
> --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264
> --enable-nonfree --enable-version3 --enable-avresample
>   libavutil      52. 92.101 / 52. 92.101
>   libavcodec     55. 69.100 / 55. 69.100
>   libavformat    55. 48.101 / 55. 48.101
>   libavdevice    55. 13.102 / 55. 13.102
>   libavfilter     4. 11.102 /  4. 11.102
>   libavresample   1.  3.  0 /  1.  3.  0
>   libswscale      2.  6.100 /  2.  6.100
>   libswresample   0. 19.100 /  0. 19.100
>   libpostproc    52.  3.100 / 52.  3.100
>
> Does someone see which could be the reason it does not work ?
>
> Thank you for help.
>
>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>

My command is now working, but i have only video in my outputs. Can
someone give me a tips on how also inject audio in outputs ?

My "working" command line is currently (splited in several lines for
easier reading) :

ffmpeg -i "udp://224.0.0.1:1234?overrun_nonfatal=0&fifo_size=1000000"
 -filter_complex "crop=iw-5:ih-5:5:5,yadif,split=2[out0][out1];
    [out0]scale=1280:720,split=2[src0][src1];
    [out1]scale=848:480,split=2[src2][src3]"
 -map "[src0]" -aspect 16:9 -r 25 -vb 2500k -vcodec libx264
    -vprofile baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k
    -async 1 -f flv rtmp://192.168.1.1/live/test_2500
 -map "[src1]" -aspect 16:9 -r 25 -vb 1500k -vcodec libx264
    -vprofile baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k
    -async 1 -f flv rtmp://192.168.1.1/live/test2_1500
 -map "[src2]" -aspect 16:9 -r 25 -vb 700k -vcodec libx264
    -vprofile baseline -g 50 -acodec libfdk_aac -ac 2 -ar 48000 -ab 128k
    -async 1 -f flv rtmp://192.168.1.1/live/test2_800
 -map "[src3]" -aspect 16:9 -r 25 -vb 250k -vcodec libx264
    -vprofile baseline -g 50 -acodec libfdk_aac -ac 1 -ar 48000 -ab 48k
    -async 1 -f flv rtmp://192.168.1.1/live/test2_300





More information about the ffmpeg-user mailing list