Tutorial: Scheduled recording Decklink SDI
Posted: Thu Dec 05, 2024 7:51 pm
OK, here my Christmas present to you guys!
So i use this in production for scheduled recording on a Decklink Quad.
Regarding reliability: FFMPEG does a pretty good job, we record up to 2x xdcamhd in paralell on a 6 core I5 processor, each stream takes about 2 cores. There was audio clicking in one of a few hundred recordings, i did set the power options of the machine to high performance, cpu state always 100%, this seemed to fix the issue.
Note, that for mp4 recording, we set the codec to intel quicksync hardware encoding. If you want to change that e.g. because you do not have quicksync, in the populate variables after the encode processors you find a line like:
To change it, you can replace the term h264_qsv by either h264_nvenc to use nvidia or libx264 to use cpu.
This workflow uses webui Variables, explained here:
https://www.youtube.com/watch?v=aPlX4yXPdYY&t=8s
If you have a different Decklink Card that has different Channel names, you will need to go to the ffastrans admin Symbol in webint -> Variables and edit the s_webui_decklink_card variable, e.g. change the select options it shows. Another way, shortcut is to "hardcode" the name of your decklink in the first populate variables processor.
For using this workflow, you can set up a scheduled job as shown in the screenshot for example.
This could be much simpler to just showcase simple decklink recording but it would not be fun that way
Enjoy and let me know any questions.
So i use this in production for scheduled recording on a Decklink Quad.
Regarding reliability: FFMPEG does a pretty good job, we record up to 2x xdcamhd in paralell on a 6 core I5 processor, each stream takes about 2 cores. There was audio clicking in one of a few hundred recordings, i did set the power options of the machine to high performance, cpu state always 100%, this seemed to fix the issue.
Note, that for mp4 recording, we set the codec to intel quicksync hardware encoding. If you want to change that e.g. because you do not have quicksync, in the populate variables after the encode processors you find a line like:
Code: Select all
$regreplace("%s_encode_config%",'libx264', 'h264_qsv')
This workflow uses webui Variables, explained here:
https://www.youtube.com/watch?v=aPlX4yXPdYY&t=8s
If you have a different Decklink Card that has different Channel names, you will need to go to the ffastrans admin Symbol in webint -> Variables and edit the s_webui_decklink_card variable, e.g. change the select options it shows. Another way, shortcut is to "hardcode" the name of your decklink in the first populate variables processor.
For using this workflow, you can set up a scheduled job as shown in the screenshot for example.
This could be much simpler to just showcase simple decklink recording but it would not be fun that way
Enjoy and let me know any questions.