If H.264 Pro Recorder Preview Delay = X Seconds, What Is X?

Ask software engineering and SDK questions for developers working on Mac OS X, Windows or Linux.
  • Author
  • Message
Offline

David Bayles

  • Posts: 3
  • Joined: Wed Feb 22, 2017 3:55 pm

If H.264 Pro Recorder Preview Delay = X Seconds, What Is X?

PostWed Feb 22, 2017 5:16 pm

I'm thinking of using the SDK to create a MacOS capture app for the H.264 Pro Recorder, which overcomes several limitations inherent in BM's own recording software.

So, here is one limitation:

When capturing to a computer using the Pro Recorder and its software you are controlling the start and stop of a recording at the computer, which does not account for the time it takes the box to do the conversion and make it's way into the computer (lets say that this delay/latency is equal to X seconds). In other words, the start and stop is based on the preview video, not real life, which for some workflows makes perfect sense.

However, if you are capturing a live event to media on you video camera and also to your computer using the Pro Recorder and its software, and you want both files to start and stop at the same, you must press start on the camera, then wait X seconds, then press start on the computer, and also apply this same manual offset when you stop recording. Otherwise, if you press record on your camera and the software at the same time, your Pro Recorder files will actually start X seconds before your camera files, and will cutoff X seconds sooner, potentially missing important footage.

This leads to my questions, which are specifically about the BM Pro Recorder:

1. Is X a fixed number, or does it depend on the encoder settings specified by the user?
2. If X is not a fixed number, can the current value of X be reported via the SDK, so that an offset equal to X can be applied dynamically to the software's start/stop action?
3. This one's a major long shot I assume, but here goes anyway: is there some way, using the SDK, to send two streams to the computer simultaneously – one H.264 stream with X seconds of delay, and one unconverted stream with near zero delay (similar to the UltraStudio devices) – so that you could use the unconverted stream to preview with near zero delay (and minimal CPU processing), and use the converted stream to record? Assuming this is impossible with just this box, but had to ask :)

Thanks in advance for any help!
Offline

Ian Morrish

  • Posts: 91
  • Joined: Sun Jan 18, 2015 9:24 pm
  • Location: New Zealand

Re: If H.264 Pro Recorder Preview Delay = X Seconds, What Is

PostThu Feb 23, 2017 7:42 am

The Pro Recorder only produces 1 feed, H.264 via USB 2. You would need a 2nd device (mini recorder, ultra studio or Decklink card for the raw recording with near zero delay, but higher I/O and/or CPU overhead).
I have not noticed any difference in the delay (approx. 2 and bit seconds) with different encoding settings but have not really measured it as I mainly use 720p50 input and capture at 5MB/s.
On Windows I use https://github.com/FlsZen/MXPTiny for the capture as it is a lot more flexible (and reliable) than Media Express.

The new Blacmagic Web Presenter product seems to have much lower delay and would work well with something like OBS Studio to capture to disk on MAC.
Regards,
Ian Morrish
Video Integrated Scripting Environment
(Windows PowerShell with ATEM driver + more)
https://ianmorrish.wordpress.com
Offline

David Bayles

  • Posts: 3
  • Joined: Wed Feb 22, 2017 3:55 pm

Re: If H.264 Pro Recorder Preview Delay = X Seconds, What Is

PostThu Feb 23, 2017 1:17 pm

Thanks, Ian.

I figured as much regarding quesion number 2 :)

I'm aware that the delay is a little more than 2 seconds, and using that value would roughly work for my purposes, but, if that is not always a fixed number, I'm wondering if the SDK is able to pull/query/calculate the specific milisecond value from the recorder somehow?
Offline

Ian Morrish

  • Posts: 91
  • Joined: Sun Jan 18, 2015 9:24 pm
  • Location: New Zealand

Re: If H.264 Pro Recorder Preview Delay = X Seconds, What Is

PostThu Feb 23, 2017 7:07 pm

Sounds like a Decklink card or mini recorder and OBS Studio would be better. A bit more CPU overhead but there would be only a few frames delay in the camera recording and OBS lets you have different scenes for position of both sources in the single captured file (reduces post editing requirements).
Regards,
Ian Morrish
Video Integrated Scripting Environment
(Windows PowerShell with ATEM driver + more)
https://ianmorrish.wordpress.com
Offline

David Bayles

  • Posts: 3
  • Joined: Wed Feb 22, 2017 3:55 pm

Re: If H.264 Pro Recorder Preview Delay = X Seconds, What Is

PostThu Feb 23, 2017 8:48 pm

That is a solid solution for faster computers. I'm trying to reduce processor usage to basically the absolute minimum, so I can use an older/slower 13" MacBook Pro or even an 11" MacBook Air, or even potentially an iOS device, which perhaps makes the Pro Recorder or perhaps other H.264 hardware encoder boxes, a better choice.

The question I have though is specifically about the capabilities of the SDK to report the actual latency based on different settings, if it's not a fixed number. Or, if it is a fixed number, what is that number in miliseconds?

Anyone know the answer to this?

Thanks!

Return to Software Developers

Who is online

Users browsing this forum: No registered users and 3 guests