How to append one mp4 file to another?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

How to append one mp4 file to another?

sonntex
Hi!

I am trying to append one mp4 faststart file to another. How can I do it?

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to append one mp4 file to another?

Sebastian Dröge-3
On Sat, 2016-10-29 at 20:03 +0300, sonntex wrote:
> Hi!
>
> I am trying to append one mp4 faststart file to another. How can I do
> it?

What is it that you want to achieve here? You can transcode or transmux
the files into a new MP4 container, or if this is fragmented MP4 you
can also directly append them to each other in theory.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (949 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: How to append one mp4 file to another?

sonntex
In reply to this post by sonntex
> What is it that you want to achieve here? You can transcode or transmux
> the files into a new MP4 container, or if this is fragmented MP4 you
> can also directly append them to each other in theory.

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.

I tried to use append=true for filesink, but resulted mp4 file has wrong duration:

# ls -l
total 59252
-rw-r--r-- 1 root root 19556905 Jan  1 00:06 video-0.mp4
-rw-r--r-- 1 root root 21036712 Jan  1 00:07 video-1.mp4
-rw-r--r-- 1 root root 20076108 Jan  1 00:08 video-2.mp4
# gst-discoverer-1.0 -v video-* | grep Duration
  Duration: 0:00:56.507222222
  Duration: 0:00:59.897777777
  Duration: 0:00:58.152777777
# gst-launch-1.0 -q filesrc location="video-0.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true
# gst-launch-1.0 -q filesrc location="video-1.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true
# gst-launch-1.0 -q filesrc location="video-2.mp4" ! qtdemux ! h264parse ! mp4mux faststart=true ! filesink location="video.mp4" append=true
# ls -l
total 118306
-rw-r--r-- 1 root root 19556905 Jan  1 00:06 video-0.mp4
-rw-r--r-- 1 root root 21036712 Jan  1 00:07 video-1.mp4
-rw-r--r-- 1 root root 20076108 Jan  1 00:08 video-2.mp4
-rw-r--r-- 1 root root 60471249 Jan  2 21:31 video.mp4
# gst-discoverer-1.0 -v video.mp4 | grep Duration
  Duration: 0:00:56.458888888



_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to append one mp4 file to another?

Sebastian Dröge-3
On Mon, 2016-10-31 at 17:12 +0300, sonntex wrote:

> > What is it that you want to achieve here? You can transcode or
> transmux
> > the files into a new MP4 container, or if this is fragmented MP4
> you
> > can also directly append them to each other in theory.
>
> 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.
>
> I tried to use append=true for filesink, but resulted mp4 file has
> wrong duration:
> [...]
Yes, as said, you can't just append MP4 files. That only works if they
are fragmented MP4 to begin with.


Maybe you'd like to use the splitmuxsink element (and then splitmuxsrc)
for generating your files? Alternatively you will have to demux them
(all in one pipeline) and mux them again with (the same) mp4mux.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (949 bytes) Download Attachment