Keeping timecode when concating videos

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Keeping timecode when concating videos

Townsheriff
Hi,

I have a pipeline where I record segments of video with current time as timecode:
gst-launch-1.0 videotestsrc pattern=18 is-live=true ! timecodestamper first-timecode="17:30:04:09" ! timeoverlay time-mode=time-code ! videoconvert ! x264enc ! splitmuxsink location=video%05d.mov max-size-time=5000000000 message-forward=true send-keyframe-requests=true muxer=qtmux

And then I have a pipeline where I combine these small video files into one larger file:
gst-launch-1.0 splitmuxsrc location=video*.mov ! splitmuxsink location=combined.mov muxer=qtmux
or 
gst-launch-1.0 splitmuxsrc location=video*.mov name=splitsrc splitsrc.video_0 ! queue ! "video/x-h264" ! qtmux ! filesink location=combined.mov

But when I combine the files my timecode gets lost. I can check it with ffprobe that metadata includes timecode and that there is tmcd track in the small files, but none of that is present in the combined file.

I started digging and figured that only way that I could add timecode for my combined file is decoding the file adding the timecodestamper with a timecode of first video file, since timecodestamper accepts only video/x-raw, but files contain video/x-h264.

Other solution I found is with ffmpeg copy combined video and update timecode:
ffmpeg -i combined.mov -map 0 -c copy -timecode "17:30:04:09" combined-with-timecode.mov

Is there some way I could add/pass timecode when concating video files?
Is there a gstreamer approach on how to add timecode without reencoding the video stream?

Cheers,
Arturs



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel