Results 1 to 5 of 5

Thread: How do I test correct timecode generation

  1. #1
    Registered User
    Join Date
    Aug 2020
    Location
    Brno
    Posts
    4

    How do I test correct timecode generation

    Hello,

    I am implementing an NDI producer and I would like to test that timecodes that I generate are correct (i.e. the audio & video stream play correctly with them). The thing is that NDI studio monitor that I use for testing doesn't really seem to take the `timecode` attribute into consideration for neither video or audio frames. I tried to generate completely random values into the field and also values close to the current real time +-1 second. In both those cases, it replayed pretty much the same way as if the timecodes were synthetized (NDIlib_send_timecode_synthesize). So my question is...does NDI studio monitor take them (the timecodes) into account at all? If not, is there some tool that would run on Windows or LInux that takes them into account and that I could use for testing? I know about Sienna NDI Monitor which has an explicit mode to take the timecodes into account but it seems to be a MacOS app only. Maybe I could try to run in a virtual machine but maybe there is another/better option to do this?

    Thank you
    clime

  2. #2
    Registered User
    Join Date
    Aug 2020
    Location
    Brno
    Posts
    4
    So I tried the Sienna monitor on MacOS, which has the mode for following source timestamps (timecodes) but if i enable it video stop playing and only audio continues. That happens even if i have the timecodes synthetized by NDI SDK (NDIlib_send_timecode_synthesize) for both video and audio separately. So idk what to try next to debug this, perhaps ffmpeg ndi plugin if that will work.

  3. #3
    Registered User
    Join Date
    Aug 2015
    Location
    london
    Posts
    296
    Quote Originally Posted by clime View Post
    So I tried the Sienna monitor on MacOS, which has the mode for following source timestamps (timecodes) but if i enable it video stop playing and only audio continues. That happens even if i have the timecodes synthetized by NDI SDK (NDIlib_send_timecode_synthesize) for both video and audio separately. So idk what to try next to debug this, perhaps ffmpeg ndi plugin if that will work.
    That mode in NDI Monitor has not been tested much since NDI 1.0 so don't read anything into the results you get. It was written long before NDI implemented timestamps and when hardly any devices even wrote timecodes properly.
    It's not a good test of your relative audio and video timecodes as it stands today. Dont assume your code is bad
    Realistically any post sync software today will probably use NDI Time*stamps* not Time*codes* since they are likely to be more reliably present.

  4. #4
    Registered User
    Join Date
    Aug 2020
    Location
    Brno
    Posts
    4
    Quote Originally Posted by livepad View Post
    That mode in NDI Monitor has not been tested much since NDI 1.0 so don't read anything into the results you get. It was written long before NDI implemented timestamps and when hardly any devices even wrote timecodes properly.
    It's not a good test of your relative audio and video timecodes as it stands today. Dont assume your code is bad
    Realistically any post sync software today will probably use NDI Time*stamps* not Time*codes* since they are likely to be more reliably present.
    Thank you very much for the response!

    The thing is that I am basically trying to convert PTSes from MPEG2 Transport Stream into something that NDI would interpret as a presentation time. I was hoping the "timecodes" serves that purpose because the timestamps are generated by SDK itself. So the question is if my approach is actually correct at all. I was assuming I can just stream audio and video independently and if I generate correct "presentation" timestamps (timecodes) for each, NDI will sync them on those but this might not be a correct approach and I need to send corresponding audio and video frames together from the producer?

  5. #5
    Registered User
    Join Date
    Aug 2020
    Location
    Brno
    Posts
    4
    After talking to NDI support, it is indeed needed to synchronize audio and video "manually", NDI doesn't do that in the Studio monitor or elsewhere. ffmpeg's implementation of NDI (now removed from ffmpeg) _does_ synchronize on timecodes but that's only accidental.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •