[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