Hi,
So far I have managed to make Me TV (a DVB player) without really understanding the GStreamer pipeline that takes data from the DVB kernel driver and delivers audio and video to the user. This is due to the wonders of playbin. I have to fiddle with video elements and GTK+3 widgets, but with Sebastian's guidance got something that seems to work just fine. However, someone has asked about recording things as well as / instead of playing them live. I am guessing the best bet is to write an MPEG-4 file in this case and have people use Glide or Totem as the playback tool. From my position of knowing essentially zero about what playbin is doing for me, can anyone point me at examples (preferably in Rust, obviously :-) ) of applications that play streams and file them at the same time? Is this sort of thing even possible with playbin, or will I have to start manually constructing pipelines? I am guessing playing and recording is the hard bit, just recording without playing should be a lot easier, but then I am not sure I want to get into all that PVR stuff, people have PVRs and Web streaming for all that. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (849 bytes) Download Attachment |
Hi Russel,
If you want to implement something like time shift, MP4 isn't a nice idea for that, because MP4 is written the timing information at last (while closing it). Therefore it's not possible to write and read a mp4-file in the same time. I'm using mp2ts for that, because the timestamps are written in the stream. Therefore it's possible to jump forward/backward in the stream, while recoding it. Regards Bernhard -----Ursprüngliche Nachricht----- Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Russel Winder Gesendet: Montag, 17. Dezember 2018 17:35 An: GStreamer Developers Betreff: Me TV, playbin, and MPEG streams Hi, So far I have managed to make Me TV (a DVB player) without really understanding the GStreamer pipeline that takes data from the DVB kernel driver and delivers audio and video to the user. This is due to the wonders of playbin. I have to fiddle with video elements and GTK+3 widgets, but with Sebastian's guidance got something that seems to work just fine. However, someone has asked about recording things as well as / instead of playing them live. I am guessing the best bet is to write an MPEG-4 file in this case and have people use Glide or Totem as the playback tool. From my position of knowing essentially zero about what playbin is doing for me, can anyone point me at examples (preferably in Rust, obviously :-) ) of applications that play streams and file them at the same time? Is this sort of thing even possible with playbin, or will I have to start manually constructing pipelines? I am guessing playing and recording is the hard bit, just recording without playing should be a lot easier, but then I am not sure I want to get into all that PVR stuff, people have PVRs and Web streaming for all that. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Russel Winder
It seems that I can transform an MPEG-TS file to an MPEG4 file with: gst-launch-1.0 filesrc=<path-to-source> ! decodebin ! x264enc ! mp4mux ! filesink location=<path-to-sink> so now all there is to do is to code this up as a Rust program and replace the file source with a live DVB stream with a start and stop time. However, I am fairly sure this is easier said than done. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (849 bytes) Download Attachment |
In reply to this post by BGraaf
Bernhard,
Thanks for chipping in, much appreciated. > If you want to implement something like time shift, MP4 isn't a nice idea > for that, because MP4 is written the timing information at last (while > closing it). Therefore it's not possible to write and read a mp4-file in the > same time. > I'm using mp2ts for that, because the timestamps are written in the stream. > Therefore it's possible to jump forward/backward in the stream, while > recoding it. I wasn't thinking of pausing live streams as PVRs can do, but now you mention it, that is a spiffing idea. I shall add it to the list of things to think about. I suspect it isn't going to be possible with the current architecture, but it is something to think about nonetheless. The user requirement (*) turns out just to be scheduled recording. In the spirit of keeping things small and simple I am going to do this as a separate application rather than adding things to the live player. This means just taking the DVB feed and generating an MPEG4 file given a start time and either an end time or a duration. I think this gets round the problem you are describing – though for live stream pausing the problem is crucial. (*) Unbelievably perhaps, Me TV actually has users other than me. OK only about 7, but they keep coming out of the woodwork with requests for things in Me TV! -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (849 bytes) Download Attachment |
Hi Russel,
That's the same way I do, but without decoding/encoding the mp2ts stream from DVB. Therefore it will be stored in coming format. The only thing I do is to exclude the stream (pid) of the programmed channel to hold the HD-Memory as small as I could. If it's better for you to use mp4, it's you decision. If you want to start with the 'time shift' function, please hold me in copy. I have already developed this function (in C :-)). Regards Bernhard -----Ursprüngliche Nachricht----- Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Russel Winder Gesendet: Mittwoch, 19. Dezember 2018 16:34 An: Discussion of the development of and with GStreamer Betreff: Re: AW: Me TV, playbin, and MPEG streams Bernhard, Thanks for chipping in, much appreciated. > If you want to implement something like time shift, MP4 isn't a nice idea > for that, because MP4 is written the timing information at last (while > closing it). Therefore it's not possible to write and read a mp4-file in the > same time. > I'm using mp2ts for that, because the timestamps are written in the stream. > Therefore it's possible to jump forward/backward in the stream, while > recoding it. I wasn't thinking of pausing live streams as PVRs can do, but now you mention it, that is a spiffing idea. I shall add it to the list of things to think about. I suspect it isn't going to be possible with the current architecture, but it is something to think about nonetheless. The user requirement (*) turns out just to be scheduled recording. In the spirit of keeping things small and simple I am going to do this as a separate application rather than adding things to the live player. This means just taking the DVB feed and generating an MPEG4 file given a start time and either an end time or a duration. I think this gets round the problem you are describing though for live stream pausing the problem is crucial. (*) Unbelievably perhaps, Me TV actually has users other than me. OK only about 7, but they keep coming out of the woodwork with requests for things in Me TV! -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |