mp4 by 'mp4mux' plays too fast and is not seekable

ivan-perez ivan at encore-lab.com
Mon Mar 13 11:50:24 UTC 2017


Hi Tim

Sorry for the late answer.

This is a diagram of my application right now:
<http://gstreamer-devel.966125.n4.nabble.com/file/n4682193/Flowchartdiagram1.png> 

At the moment I split the stream using the picamera library, which allows to
create up to four simultaneous streams very easily. Before using it, I had
been trying a C program you show me in another thread, but I got no success
in implementing it into my needs.
http://gstreamer-devel.966125.n4.nabble.com/H264-stream-to-MP4-file-without-the-first-bytes-on-the-H264-stream-tp4681699p4681866.html

So, finally, I've found another solution in order to create a playable and
seekable MP4 file, but without Gstreamer :( Now Gstreamer only manages the
(multi-) RTP stream to the clients.

I've used FFMPEG and it correctly muxes the H264 into a MP4 which plays
nicely in all players I've checked. And it's by far more easy to use than
Gstreamer for such a simple thing.

Kind regards.


Tim Müller wrote
> On Tue, 2017-03-07 at 23:24 -0800, ivan-perez wrote:
> 
> Hi,
> 
>> I can't use 'rpicamsrc' anymore. The reason is that I want to record
>> at least two simulateneous streams (I want them to be added and
>> removed dynamically), and as far as I've seen 'rpicamsrc' doesn't
>> allow it - when there's one instance recording from the camera, the
>> next one fails, because the camera is in use.
> 
> Right, that's kind of expected I guess :)
> 
>>  I've also tried to 'tee' but I got no results.
> 
> I believe "tee" should work. Maybe post a small example app that
> doesn't work so we can look at what you're doing and figure out why it
> doesn't work as expected.
> 
>> Is there a way to correct the stream? How can I find if the problem
>> is really about the stream not being correctly timestamped?
> 
> fdsrc doesn't set timestamps and h264parse presumably just makes up
> timestamps based on some framerate (25fps? 30fps). It's really not a
> good solution, fdsrc isn't meant for this usecase. You could capture
> from the library and push buffers manually into the pipeline(s) with
> appsrc though, if you configure appsrc accordingly (do-timestamp, time
> format, live).
> 
> Cheers
>  -Tim
> -- 
> Tim Müller, Centricular Ltd - http://www.centricular.com
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel at .freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/mp4-by-mp4mux-plays-too-fast-and-is-not-seekable-tp4682115p4682193.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list