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, privacy policy and cookie policy

Browse other questions tagged or ask your own question.