[FFmpeg-user] (no subject)

Thomas Kumlehn thomas at pixelpartner.de
Wed Aug 31 17:44:42 CEST 2011


Sure, Andy!

I first explain, why/how my solution works:
The -vf parameter can be split into 3 independant parts, separated by semicolons
1 [in]pad=1920:1080:240:0[p]
   Takes the first and only input video with the portlabel [in], pads it 
   and stores the result in port [p]. You could ommit [in] because the only availabel port to 
   feed pad in this part of vf would be [in] and pad would take it.
2 movie=logo.png[watermark]
   Does not consume or need any input port, but feeds an output that is manually 
   labeled [watermark] for later reference
3 [p][watermark]overlay=10:10[out]
   The overlay needs two inputs that we gave in the proper order.
   If the last output of the prior node is identical to the first input needed for the current,
   I could skip naming them and replace ; by a , so both nodes are chained together

I don't know if separating node chains with ; and labeling all in/ouputs causes performance penelties, but it helped me a lot to understand what happens when.

Thomas Kumlehn
PIXEL PARTNER (R)

Send from my iPad 3-D
http://www.pixelpartner.de

Am 31.08.2011 um 12:15 schrieb Andy Andy <x2305andy2305x at yahoo.com>:

> It definitely works so thank you very much for the solution. Unfortunately i don't really understand what you did.
> 
> 
> If you have the time, could you explain what the [p] is going on there?
> 
> Thanks in advance.
> 
> Regards,
> DAV
> 
> 
> 
> ________________________________
> From: Thomas Kumlehn <thomas at pixelpartner.de>
> To: FFmpeg user questions and RTFMs <ffmpeg-user at ffmpeg.org>
> Sent: Wednesday, August 31, 2011 12:51 PM
> Subject: Re: [FFmpeg-user] (no subject)
> 
> Try this
>> -vf "[in]pad=1920:1080:240:0[p];movie=logo.png[watermark];[p][watermark]overlay=10:10[out]"
> Any filter needs an input and if you don't specify one, it will take the last used/available.
> You cannot reuse an already used input. To work around this, the op split= was introduced, but in my opinion fails to work. I always get grey instead of content on the second output of split.
> 
> best wishes,
> 
> Thomas Kumlehn
> PIXEL PARTNER (R)
> 
> Send from my iPad 3-D
> http://www.pixelpartner.de
> 
> Am 31.08.2011 um 10:38 schrieb Andy Andy <x2305andy2305x at yahoo.com>:
> 
>> Hi guys,
>> 
>> Here's what i'm trying to do: i'm trying to chain together two video filters: pad and watermark. I can't seem to do it properly. Here's what i'm doing:
>> 
>> ffmpeg -y -i 00728.mts -f mp4 -vcodec libx264 -r 25 -b 5000000 -s 1440x1080  -vf "pad=1920:1080:240:0,movie=logo.png[watermark];[in][watermark]overlay=10:10[out]" -g 250 -threads 0 -pix_fmt yuvj420p -deinterlace -coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 2 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip -wpredp 0 -rc_lookahead 10 -acodec libfaac -ar 44100 -ab 320000 -ac 2 img.mp4
>> ffmpeg version N-31743-g324b8ad, Copyright (c) 2000-2011 the FFmpeg developers
>>    built on Aug  3 2011 15:13:54 with gcc 4.5.2
>>    configuration: --enable-shared --disable-static --disable-doc --disable-ffplay --disable-ffserver --enable-avfilter --enable-postproc --enable-swscale --enable-gpl --enable-nonfree --enable-runtime-cpudetect --enable-pthreads --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-zlib --enable-version3 --enable-libopenjpeg
>>    libavutil    51. 11. 1 / 51. 11. 1
>>    libavcodec   53.  9. 1 / 53.  9. 1
>>    libavformat  53.  6. 0 / 53.  6. 0
>>    libavdevice  53.  2. 0 / 53.  2. 0
>>    libavfilter   2. 27. 5 /  2. 27. 5
>>    libswscale    2.  0. 0 /  2.  0. 0
>>    libpostproc  51.  2. 0 / 51.  2. 0
>> Continuity Check Failed
>> [mpegts @ 0xa33460] max_analyze_duration 5000000 reached at 5000000
>> Continuity Check Failed stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
>> Input #0, mpegts, from '/home/alexandru-david/Desktop/00728.mts':
>>    Duration: 00:00:11.97, start: 1.000033, bitrate: 6829 kb/s
>>    Program 1 
>>      Stream #0.0[0x1011]: Video: h264 (Main), yuv420p, 1440x1080 [SAR 4:3 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
>>      Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
>> [buffer @ 0xa547a0] w:1440 h:1080 pixfmt:yuv420p tb:1/1000000 sar:4/3 sws_param:
>> [movie @ 0xa54f00] seek_point:0 format_name:(null) file_name:/home/alexandru-david/Exporter/resources/logo_creaza_720.png stream_index:0
>> Too many inputs specified for the "movie" filter.
>> Error opening filters!
>> 
>> 
>> The reason why i try to do this, i need to pad the 4:3 aspect ratio 1080p input so that it is fullHD (1920x1080) , then apply a fullHD png logo watermark in top left corner.
>> 
>> Can you guys see what i'm doing wrong? I even tried to put the pad filter after watermark to see if i get any changes, although that's not the right order in which i want this done, then message is Not enough inputs specified for the "pad" filter., with a command like
>> 
>> ffmpeg -y -i 00728.mts -f mp4 -vcodec libx264 -r 25 -b 5000000 -s 1440x1080  -vf "movie=logo.png[watermark];[in][watermark]overlay=10:10[out],pad=1920:1080:240:0" -g 250 -threads 0 -pix_fmt yuvj420p -deinterlace -coder 1 -flags +loop -cmp +chroma -partitions +parti8x8+parti4x4+partp8x8+partb8x8 -me_method hex -subq 2 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -b_strategy 1 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -bf 3 -refs 1 -directpred 1 -trellis 0 -flags2 +bpyramid-mixed_refs+wpred+dct8x8+fastpskip -wpredp 0 -rc_lookahead 10 -acodec libfaac -ar 44100 -ab 320000 -ac 2 img.mp4
>> 
>> Any help will be greatly appreciated.
>> 
>> Regards,
>> DAV
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user


More information about the ffmpeg-user mailing list