Re: [FFmpeg-user] Resolving -filter_complex overlay / -vf yadif conflicts in subprocess call Python script

2019-09-12 Thread digitensions via ffmpeg-user
Thank you Carl. Point taken. I will investigate making it optional, then we 
just have the operators knowledge to rely on… Many thanks too Reto.

Joanna


> On 11 Sep 2019, at 21:37, Carl Eugen Hoyos  wrote:
> 
> Am Mi., 11. Sept. 2019 um 14:08 Uhr schrieb Gyan :
> 
>> ffmpeg -i input_file -i watermark.png -filter_complex 
>> "[0]yadif=0:-1:1[v];[v][1]overlay"
>>-c:v libx264 -pix_fmt yuv420p -c:a aac
>>-metadata copyright=“blah” -metadata comment=“contact blah” 
>> -report output_file
>> 
>> 
>> The yadif filter will only deinterlace if the frame is marked as interlaced.
> 
> The metadata that marks frames as interlaced is typically wrong:
> It will mark progressive frames as interlaced and the de-interlacer
> will permanently damage the frames.
> 
> Carl Eugen
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Resolving -filter_complex overlay / -vf yadif conflicts in subprocess call Python script

2019-09-11 Thread digitensions via ffmpeg-user
Gyan, Moritz, Kieran,

Thank you so much for the answers. The script is designed to take a mezzanine 
file of ProRes or H264 mov origin and allow trimming, deinterlacing (of just 
the mov, not the watermark), overlay of watermark png, and make copyright 
metadata additions for supply to clients as viewing copies for computer review 
etc.  Our archives have progressive and interlaced (upper and lower) mezzanine 
files reserved for supply to production houses etc, which aren’t appropriate to 
issue as viewing copies. Instead of keeping two sets of mezzanine files per 
digitised file - viewing and production supply - we’re looking to generate a 
script so that anyone can produce an mp4 on demand from one higher level 
mezzanine.

Gyan, I am pleased to read yadif only works if interlacing is sensed. I see it 
has an auto mode, but will it differentiate between upper and lower if sensed 
also? The "[0]yadif=0:-1:1[v];[v][1]overlay” suggestion seems to have worked. I 
was having issues with the ‘ and “ options, but it functions perfectly this way:

'-filter_complex', "[0]yadif=0:-1:1[v];[v][1]overlay”,

I need to test this more broadly when I get some more video samples, or 
generate some with FFmpeg.

Thanks Moritz for the reminder that I must take better notice of the failed 
approaches I’ve tried already. I always rush through things without doing this. 
I’ll make sure my next FFmpeg-user submission is better prepared :)

Awesome help, thank you!

Joanna



> On 11 Sep 2019, at 12:59, Gyan  wrote:
> 
> 
> 
> On 11-09-2019 04:48 PM, digitensions via ffmpeg-user wrote:
>> Hello!
>> 
>> Thanks for admitting me to FFmpeg-user, and thanks to all those who maintain 
>> this list. The information I’ve been receiving since joining is outstanding.
>> 
>> This is a bit of a basic question I fear, but searching online hasn’t 
>> helped.  I am just co-writing a Python script which uses subprocess calls to 
>> run an FFmpeg command. I’ve been try to combine a watermark overlay with a 
>> command that uses yadif.  As a command it would run like so:
>> 
>> ffmpeg -i input_file -i watermark.png -filter_complex overlay -c:v libx263 
>> -pix_fmt yuv420p -vf yadif -metadata copyright=“blah” -metadata 
>> comment=“contact blah” -c:a aaa -report output_file
>> 
>> For reference, the script is here: 
>> https://github.com/digitensions/MACEscripts/blob/master/main.py
>> 
>> My error message:
>> ffmpeg started on 2019-09-11 at 11:12:45
>> Report written to "ffmpeg-20190911-111245.log"
>> ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
>>   built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
>>   configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.3_1 --enable-shared 
>> --enable-pthreads --enable-version3 --enable-hardcoded-tables 
>> --enable-avresample --cc=clang 
>> --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include
>>  
>> -I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include/darwin'
>>  --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl 
>> --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus 
>> --enable-librubberband --enable-libsnappy --enable-libtesseract 
>> --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 
>> --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig 
>> --enable-libfreetype --enable-frei0r --enable-libass 
>> --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
>> --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack 
>> --disable-indev=jack --enable-libaom --enable-libsoxr
>>   libavutil  56. 22.100 / 56. 22.100
>>   libavcodec 58. 35.100 / 58. 35.100
>>   libavformat58. 20.100 / 58. 20.100
>>   libavdevice58.  5.100 / 58.  5.100
>>   libavfilter 7. 40.101 /  7. 40.101
>>   libavresample   4.  0.  0 /  4.  0.  0
>>   libswscale  5.  3.100 /  5.  3.100
>>   libswresample   3.  3.100 /  3.  3.100
>>   libpostproc55.  3.100 / 55.  3.100
>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
>> '/Users/Joanna/Desktop/new(ScriptTest)/[Chimney].mov':
>>   Metadata:
>> major_brand : qt
>> minor_version   : 512
>> compatible_brands: qt
>> encoder : Lavf58.20.100
>>   Duration: 00:00:26.32, start: 0.00, bitrate: 163608 kb/s
>> Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(tv, 
>> bt709, progressive), 1920x1080, 162452 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 
>> tbr, 12800 tbn, 12800 tbc (default)
>> Metadata:
>>   handler_name: VideoHandle

[FFmpeg-user] Resolving -filter_complex overlay / -vf yadif conflicts in subprocess call Python script

2019-09-11 Thread digitensions via ffmpeg-user
Hello!

Thanks for admitting me to FFmpeg-user, and thanks to all those who maintain 
this list. The information I’ve been receiving since joining is outstanding.

This is a bit of a basic question I fear, but searching online hasn’t helped.  
I am just co-writing a Python script which uses subprocess calls to run an 
FFmpeg command. I’ve been try to combine a watermark overlay with a command 
that uses yadif.  As a command it would run like so:

ffmpeg -i input_file -i watermark.png -filter_complex overlay -c:v libx263 
-pix_fmt yuv420p -vf yadif -metadata copyright=“blah” -metadata 
comment=“contact blah” -c:a aaa -report output_file

For reference, the script is here: 
https://github.com/digitensions/MACEscripts/blob/master/main.py

My error message:
ffmpeg started on 2019-09-11 at 11:12:45
Report written to "ffmpeg-20190911-111245.log"
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1.3_1 --enable-shared 
--enable-pthreads --enable-version3 --enable-hardcoded-tables 
--enable-avresample --cc=clang 
--host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include
 
-I/Library/Java/JavaVirtualMachines/adoptopenjdk-11.0.2.jdk/Contents/Home/include/darwin'
 --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom 
--enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband 
--enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis 
--enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid 
--enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r 
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb 
--enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox 
--disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr
  libavutil  56. 22.100 / 56. 22.100
  libavcodec 58. 35.100 / 58. 35.100
  libavformat58. 20.100 / 58. 20.100
  libavdevice58.  5.100 / 58.  5.100
  libavfilter 7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale  5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc55.  3.100 / 55.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 
'/Users/Joanna/Desktop/new(ScriptTest)/[Chimney].mov':
  Metadata:
major_brand : qt  
minor_version   : 512
compatible_brands: qt  
encoder : Lavf58.20.100
  Duration: 00:00:26.32, start: 0.00, bitrate: 163608 kb/s
Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(tv, bt709, 
progressive), 1920x1080, 162452 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 
tbn, 12800 tbc (default)
Metadata:
  handler_name: VideoHandler
  encoder : Lavc58.35.100 prores_ks
  timecode: 01:00:00:00
Stream #0:1(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, s32 
(24 bit), 1152 kb/s (default)
Metadata:
  handler_name: SoundHandler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
  handler_name: TimeCodeHandler
  timecode: 01:00:00:00
Input #1, png_pipe, from 
'/Users/Joanna/Desktop/new(ScriptTest)/bitc/venv/watermarks/FHD.png':
  Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgba(pc), 1920x1080 [SAR 2835:2835 DAR 16:9], 25 
tbr, 25 tbn, 25 tbc
Filtergraph 'yadif' was specified through the -vf/-af/-filter option for output 
stream 0:0, which is fed from a complex filtergraph.
-vf/-af/-filter and -filter_complex cannot be used together for the same stream.
(venv) Joanna:venv Joanna$ 

I’m aware my source is progressive, my only available test file at present. I 
tried a few options combining yadif with the -filter_complex and had no 
success, but I wonder if those more knowledgeable would have an effective work 
around, or could point me to one?

The alternative is to write an if statement that checks for interlacing and 
activates the yadif call separately, which I’m happy to attempt if needed.

Any advice gratefully received.

Joanna White

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".