Page 1 of 1

DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Tue Jun 09, 2015 3:45 am
by Bob DeCarlo
Hi,
I have having trouble getting the correct interlace order with the DeckLink SDI 4K using ffmpeg.
I have tried several versions of the command, here are two examples:

./ffmpeg -f decklink -i 'DeckLink SDI 4K@1' -vf "setfield=1, fieldorder=bff" -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 0 -g 15 -sc_threshold 1000000000 -threads 4 -y VTS_01_1.VOB

./ffmpeg -f decklink -i 'DeckLink SDI 4K@1' -target ntsc-dvd -flags +cgop+ilme+ildct -alternate_scan 1 -top 1 -g 15 -sc_threshold 1000000000 -threads 4 -y VTS_01_1.VOB

When I finally author a DVD and play it on a panasonic DMR-E55 player using a CRT studio NTSC monitor, the still picture quality is good. During motion, it looks line the interlace fields are out of order.

The Decklink SDK document indicates that the hardware is bottom field first which is fine except I do not know how to get that correctly into ffmpeg. Can anyone help?

I think I need to filter using: -vf "setfield=1, fieldorder=bff" or
or to flip it:
-vf "setfield=1, fieldorder=tff"

Thanks!
Bob

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Wed Jun 10, 2015 1:50 am
by Matt Jefferson
Bob,
We don't support any FFMPEG even via our SDK support system. Hopefully one of the community members can comment but I might suggest contacting the developers at FFMPEG as they have developed support on their side via our APIs. They would have to implement the correct ordering of fields and would need to support NTSC formats correctly.

Matt Jefferson

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Wed Jun 10, 2015 11:18 am
by Dave Johnstone
Hi Bob,

Do you have to use ffmpeg? I don't have much experience with Decklinks and ffmpeg but gstreamer appears to work well with Decklink cards, both source and destination now (version 1.41 and above) and I have used it for playback. If I understand your situation correctly, you want to capture an SD 525i source and create a file for subsequent burning to DVD-Video. If so, I can have a play with my system tomorrow and give you the equivalent gstreamer command line. I have a Decklink HD 3D Extreme to test with and am in PAL-land but should be able to find a 625i source to test with. The gstreamer Decklink plugin uses code from the official Decklink API and so should work well even though not directly supported by BMD.

Regards,

Dave.

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Thu Jun 11, 2015 6:20 pm
by Bob DeCarlo
Hi Dave,
Thank you for the reply.

I can certainly give gstreamer a try. I'm an ffmpeg user but I can try other things. Overall, I prefer command line versus a gui. I could even use it to correct the field order and still use ffmpeg. If gstreamer has encoding for DVD-video, I would then compare the overall video quality.

I appreciate any ideas!

Regards,
Bob

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Mon Jun 15, 2015 11:51 pm
by Dave Johnstone
Hi Bob,

Gstreamer is a library designed for incorporation into your own code, but there is a command line interface for testing pipelines called gst-launch. The pipeline for DVD creation would be something like this:
Code: Select all
gst-launch-1.0 decklinkvideosrc mode=1 ! queue ! autovideoconvert ! mpeg2enc bufsize=300 bitrate=4000 ! mplex name=mux ! filesink location=/path/to/video.mpeg decklinkaudiosrc ! audioconvert ! mux.
.
There is a setting for mpeg2enc (playback-field-order) which can be used to select top/bottom field first. I'm no expert on Gstreamer but have found it useful and easier to use than the SDK in some situations.

Regards,

Dave.

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Wed Jun 17, 2015 10:47 pm
by Bob DeCarlo
Sorry, I cant get past the decklinkvideosrc. Do I need to build gst with the decklink sdk or something?

recorder@recorder-All-Series:~$ gst-launch-1.0 decklinkvideosrc
ERROR: pipeline could not be constructed: no element "decklinkvideosrc".
recorder@recorder-All-Series:~$

Using videotestsrc functions ok, so gst-launch is working

This functions:
./ffplay -f decklink -i 'DeckLink SDI 4K@1'
So the hardware is operational.

Thanks!

Re: DeckLink SDI 4K ffmpeg interlace scan

PostPosted: Thu Jun 18, 2015 11:23 am
by Dave Johnstone
Hi Bob,

I can't remember exactly but yes, I think you need to compile gst-plugins-bad yourself with the Decklink driver and/or SDK installed. When you do an ./autogen.sh (in the gst-plugins-bad source directory) Decklink should be listed under "Plugins with external dependencies which will be built". Then, after the usual make/make install, you can then issue a "gst-inspect-1.0 decklinkvideosrc" to confirm plugin availability.

Regards,

Dave.