Hi,
I have a pipeline which uses gltransformation and modifies the properties : rotation-x/y/z. Now this works perfectly fine, and I can see the changes in the video when I use element 'glimagesink'. Now I tried replacing glimagesink with a filesink, to see if I can store this transformation applied video. The file is created but I am unable to open the file. Where am I going wrong? actual pipeline: intervideosrc - glupload - glocolorconvert - gltransformation - glimagesink trial 1 : intervideosrc - glupload - glocolorconvert - gltransformation - filesink (location=abc.avi) trail 2 : intervideosrc - filesink (location=abc.avi) Both trial 1 & 2 pipelines created a file abc.avi but could not be read with VLC media player. Another observation was the the file size in trial1 was far more bigger as compared to trial 2. Below pipeline running for the same time, and the observed file sizes trial 1 : ~4GB trial 2 : ~300 MB Could anyone point me out some hints for this issue? Regards -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi
> Now I tried replacing glimagesink with a filesink, to see if I can store > this transformation applied video. The file is created but I am unable to > open the file. Where am I going wrong? At this point the Stream contains Buffers pointing to Memory in your Graphicscard. First you'd have to download those buffers into your computers Main-Memory (gldownload). Next yopu usually want to encode those raw pixel values into some smaller form, ie h264 (x264enc). Now this video-stream usually needs a container, ie. mp4 (mp4mux). Now you can save this mp4-stream to a file. This needs probably some color- and format-conversions, but it should give you a rough indication of the Steps involved. Best Regards, Peter _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
This post was updated on .
Hi Mazdermind,
So this is what I tried based on your suggestion: intervideosrc ! glupload ! glcolorconvert ! gltransformation ! gldownload ! video/x-raw ! videoconvert ! x264enc ! mp4mux ! filesink location=abc.mp4 In the above case, the file is created but when I open it there's nothing that is displayed. I have the above pipeline in a python script which I execute using: $./script.py -e I also tried the above pipeline with element autovideoconvert instead of videoconvert, and the output was the same. The file create is in the size of a few KBs(< 4KB) I have checked the capabilities of the elements used in the pipeline and they seem to be all compatible. Do you see where I am going wrong? Regards -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list gstreamer-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
An update to the question with further details about the pipelines for better
understanding: My sender and receiver pipelines are as follows (works fine, issue with storing the video in a file): sender: imxv4l2videosrc ! imxvpunenc_h264 ! h264parse ! rtph264pay ! rtpbin.send_rtp ! udpsink ! rtpbin.send_rtcp ! udpsink ! udpsrc ! rtpbin.recv_rtcp receiver(decoupled pipelines): pipe1 : udpsrc ! application/x-rtp(with other details) ! rtpbin.recv_rtp ! rtph264depay ! h264parse ! avdec_h264 ! intervideosink ! udpsrc ! rtpbin.recv_rtcp ! rtpbin.send_rtcp ! udpsink pipe2: intervideosrc ! glupload ! glcolorconvert ! gltransformation ! glimagesink Can anyone point out where I am going wrong ? Regards -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by sk_gst
Hi
On 21.02.19 16:57, vk_gst wrote: > In the above case, the file is created but when I open it there's nothing > that is displayed. Please be more specific. Is the file 0-bytes, has it size, does a specific player not play it back? What I suspect is, that upon termination of your program no EOS Event is triggered (instead the application is just terminated), which prevents mp4mux from writing a compatible .mp4 file. There is data in the file, it is just not playable. This command works only with the --eos-on-shutdown flag for that reason. gst-launch-1.0 --eos-on-shutdown videotestsrc ! glupload ! glcolorconvert ! gltransformation rotation-y=30 ! gldownload ! videoconvert ! x264enc ! mp4mux ! filesink location=abc.mp4 Regards _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
No, the file is not of size 0 bytes. The file is approximately some 2-3 kBs
in size. There are 2 ways I have tried using the --eos-on shutdown: 1. provide -e option with my python script: $./script.py -e 2. Using rtpbin signal 'on-timeout', I forcefully send a EOS event along the bus which closes the pipeline. The timeout signal is received when the sender stops sending the packets. I have tried both ways separately in my logic and the case was the same. The video file of somebytes was created and could not be read by vlc or playbin. following is my receiver pipeline which did not work: receiver(decoupled pipelines): pipe1 : udpsrc ! application/x-rtp(with other details) ! rtpbin.recv_rtp ! rtph264depay ! h264parse ! avdec_h264 ! intervideosink ! udpsrc ! rtpbin.recv_rtcp ! rtpbin.send_rtcp ! udpsink pipe2: intervideosrc ! glupload ! glcolorconvert ! gltransformation ! gldownload ! video/x-raw ! videoconvert ! x264enc ! mp4mux ! filesink location=abc.mp4 One thing to note is that the gltransformation is being applied continuously as and when required based on user input or network conditions. Storing file without gltransformation works fine. Regards -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |