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