I am receiving an HEVC encoded live stream that contains SMPTE 12-1 timecode in the SEI picture timing, as it is recommended in ITU-T Rec-H.265-202108 Annex D.3.3 Picture timing SEI message semantics. I want to copy this timecode to a new timecode stream in an MXF Container, according to EBU – Recommendation R 122.

I can use the command ffprobe -i input.ts -show_frames to see the timecode information of each frame in a recording of such a stream:

side_data_type=SMPTE 12-1 timecode

But I have not found any way to access the SEI messages with FFmpeg. I already did a lot of research and tried playing around with things like: -copytb 1, -timecode 00:00:00:00 or -map_metadata 0:s:0 without any luck. The only thing about SEI that I could find in the FFmpeg docs is the sei_user_data, which is only used for insertion.

Is there any way to achieve this with FFmpeg and without writing C/C++ (or any other) code around libav*?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.