<div dir="ltr"><div><div><div>> What is it that you want to achieve here? You can transcode or transmux<br>
> the files into a new MP4 container, or if this is fragmented MP4 you<br>
> can also directly append them to each other in theory.<br><br></div>I grab jpeg stream from uvc camera, transcode it to h264 and mux it to small mp4 files (about one minute duration). As a result I have sequence of small faststart mp4 files with the same codec inside and I want to glue it to one large file.<br><br>I tried to use append=true for filesink, but resulted mp4 file has wrong duration:<br></div><br># ls -l<br>total 59252<br>-rw-r--r-- 1 root root 19556905 Jan  1 00:06 video-0.mp4<br>-rw-r--r-- 1 root root 21036712 Jan  1 00:07 video-1.mp4<br>-rw-r--r-- 1 root root 20076108 Jan  1 00:08 video-2.mp4<br># gst-discoverer-1.0 -v video-* | grep Duration<br>  Duration: 0:00:56.507222222<br>  Duration: 0:00:59.897777777<br>  Duration: 0:00:58.152777777<br># gst-launch-1.0 -q filesrc location="video-0.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true<br># gst-launch-1.0 -q filesrc location="video-1.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true<br># gst-launch-1.0 -q filesrc location="video-2.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true<br># ls -l<br>total 118306<br>-rw-r--r-- 1 root root 19556905 Jan  1 00:06 video-0.mp4<br>-rw-r--r-- 1 root root 21036712 Jan  1 00:07 video-1.mp4<br>-rw-r--r-- 1 root root 20076108 Jan  1 00:08 video-2.mp4<br>-rw-r--r-- 1 root root 60471249 Jan  2 21:31 video.mp4<br># gst-discoverer-1.0 -v video.mp4 | grep Duration<br>  Duration: 0:00:56.458888888<br><br></div><br></div>