Hello all,
I am trying to use the append property of the filesink element to append video to the end of a file. I use this pipeline to first make the video file: gst-launch videotestsrc num-buffers=200 pattern=snow ! x264enc ! avimux ! filesink location="c:\\naiob\\video.avi" Then I use this pipeline to append to the file: gst-launch videotestsrc num-buffers=200 ! x264enc ! avimux ! filesink location="c:\\naiob\\video.avi" append=true When I try to play this file with VLC the total length is shown as 6 seconds. After playing through the 6 seconds of the video produced by the first pipeline, the video continues another 6 seconds through the video produced by the second pipeline. So at the end the video produced by both pipelines is definitely in the file, but something is wrong with the metadata because VLC is showing only 6 seconds, not the full 12. I also tried playing the file with a gstreamer pipeline: gst-launch filesrc location="c:\\naiob\\video.avi" ! avidemux ! ffdec_h264 ! ffmpegcolorspace ! glimagesink This pipeline plays the first six seconds of video, then prints that it received EOS and the pipeline shuts down. So it seems the EOS from the first pipeline is still in the file and causing it to stop playing early. Am I not understanding the usage of the append property correctly? Could someone please provide me with some information about get these pipeline to work the way I am intending them? Thank you for your help, William |
Am 25.02.2012 23:50, schrieb wlm014:
> Hello all, > > I am trying to use the append property of the filesink element to append > video to the end of a file. I use this pipeline to first make the video > file: > > gst-launch videotestsrc num-buffers=200 pattern=snow ! x264enc ! avimux ! > filesink location="c:\\naiob\\video.avi" > > Then I use this pipeline to append to the file: > > gst-launch videotestsrc num-buffers=200 ! x264enc ! avimux ! filesink > location="c:\\naiob\\video.avi" append=true Then you have two independent avi files in one file. Concatenating two files is not a streaming operation that gstreamer can do you you. Concatenating mediafile would only work in corner cases (lot of things need to be identical and then the muxer would need to remux the existing file). It would be nice to support this, but it would require substatial work. Stefan > > When I try to play this file with VLC the total length is shown as 6 > seconds. After playing through the 6 seconds of the video produced by the > first pipeline, the video continues another 6 seconds through the video > produced by the second pipeline. So at the end the video produced by both > pipelines is definitely in the file, but something is wrong with the > metadata because VLC is showing only 6 seconds, not the full 12. > > I also tried playing the file with a gstreamer pipeline: > > gst-launch filesrc location="c:\\naiob\\video.avi" ! avidemux ! ffdec_h264 ! > ffmpegcolorspace ! glimagesink > > This pipeline plays the first six seconds of video, then prints that it > received EOS and the pipeline shuts down. So it seems the EOS from the > first pipeline is still in the file and causing it to stop playing early. > > Am I not understanding the usage of the append property correctly? Could > someone please provide me with some information about get these pipeline to > work the way I am intending them? > > Thank you for your help, > William > > -- > View this message in context: http://gstreamer-devel.966125.n4.nabble.com/What-is-the-Correct-Way-to-Use-the-Append-Property-of-Filesink-Element-tp4421210p4421210.html > Sent from the GStreamer-devel mailing list archive at Nabble.com. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |