1

I am working on an IP-SDI decoder using ffmpeg and a Blackmagic Decklink Mini Monitor card.

If I list ffmpeg supported output modes with this command:

ffmpeg -i test_1.mp4 -f decklink -list_formats 1 'DeckLink Mini Monitor'

I get these:

[decklink @ 0x39b8c60] Supported formats for 'DeckLink Mini Monitor':
[decklink @ 0x39b8c60]  1       720x486 at 30000/1001 fps (interlaced, lower field first)
[decklink @ 0x39b8c60]  2       720x486 at 24000/1001 fps
[decklink @ 0x39b8c60]  3       720x576 at 25000/1000 fps (interlaced, upper field first)
[decklink @ 0x39b8c60]  4       720x486 at 60000/1001 fps
[decklink @ 0x39b8c60]  5       720x576 at 50000/1000 fps
[decklink @ 0x39b8c60]  6       1920x1080 at 24000/1001 fps
[decklink @ 0x39b8c60]  7       1920x1080 at 24000/1000 fps
[decklink @ 0x39b8c60]  8       1920x1080 at 25000/1000 fps
[decklink @ 0x39b8c60]  9       1920x1080 at 30000/1001 fps
[decklink @ 0x39b8c60]  10      1920x1080 at 30000/1000 fps
[decklink @ 0x39b8c60]  11      1920x1080 at 25000/1000 fps (interlaced, upper field first)
[decklink @ 0x39b8c60]  12      1920x1080 at 30000/1001 fps (interlaced, upper field first)
[decklink @ 0x39b8c60]  13      1920x1080 at 30000/1000 fps (interlaced, upper field first)
[decklink @ 0x39b8c60]  14      1280x720 at 50000/1000 fps
[decklink @ 0x39b8c60]  15      1280x720 at 60000/1001 fps
[decklink @ 0x39b8c60]  16      1280x720 at 60000/1000 fps

Ok. I can set my desired output format using -s for output size and -r for frame rate:

/home/ffmpeg/bin/ffmpeg \
-i udp://224.168.240.69:2069?buffer_size=262144?fifo_size=4525000&overrun_nonfatal=1 \
-threads 0 -vf setpts=PTS-STARTPTS \
-pix_fmt uyvy422 \
-c:a pcm_s16le -ac 2 -ar 48000 \
-s 1920x1080 -r 30000/1000 \
-f decklink DeckLink Mini Monitor

Is there a way to set my desired output format using ffmpeg's Supported number from the list [1..16]?

2

I don't see any option in the source to set output format parameters via the serial number.

2

Not sure exactly if this will help at all but you used to be able to do something like this:

ffmpeg -f decklink -i "DeckLink Mini Recorder (1)@7"

Where 7 is the number that is outputed in the supported formats list and the (1) is used if you have multiple decklink cards. Again not sure if this helps you or not as I was using it for capture cards.

Note on Aug of 2018 I updated my SDK version for Decklink and the firmware on my capture cards and lost the above ability. I was still able to select the format in ffmpeg but I had to use the following:

ffmpeg -format_code Hp30 -f decklink -i "DeckLink Mini Recorder (1)"

I got the Hp30 from the output of the command: ffmpeg -f decklink -list_formats 1 -i "DeckLink Mini Recorder (1)"

The command also now does not output the numbers for the formats but instead has the format_code and description.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.