G’day
I have a capture card (sensoray 2263) After setting the output to 1080 vlc and mplayer ‘reset’ the output to 720x576 Running mplayer like this mplayer tv:///dev/video2 -geometry 1920x1080 keeps the card output at 1080 (but won’t set a 720x576 card to 1080) Running my test pipeline gst-launch-1.0 v4l2src name=source device=/dev/video2 ! queue ! videoscale ! video/x-raw,width=1920,height=1080 ! videoconvert ! xvimagesink force-aspect-ratio=false name=sink1 results in 720x576 weather or not I set the card to 1080. Can anybody tell me how to tell gstreamer to ask/tell the card to output 1080? Thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
> On 22 Apr 2021, at 7:43 pm, James Linder via gstreamer-devel <[hidden email]> wrote: > > G’day > > I have a capture card (sensoray 2263) > > After setting the output to 1080 vlc and mplayer ‘reset’ the output to 720x576 > Running mplayer like this > mplayer tv:///dev/video2 -geometry 1920x1080 keeps the card output at 1080 (but won’t set a 720x576 card to 1080) > > Running my test pipeline > > gst-launch-1.0 v4l2src name=source device=/dev/video2 ! queue ! videoscale ! video/x-raw,width=1920,height=1080 ! videoconvert ! xvimagesink force-aspect-ratio=false name=sink1 > > results in 720x576 weather or not I set the card to 1080. > > Can anybody tell me how to tell gstreamer to ask/tell the card to output 1080? Turns out CAPS are not passed back along the chain. Putting CAPS on the v4l2src means they are passed back to the card. In my example pipeline moving CAPS back to the src solved the issue. James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by GStreamer-devel mailing list
G’day
I am (trying out) creating a pipeline to view in 1080 gst-launch-1.0 -v -e v4l2src name=source device=/dev/video2 ! \ video/x-h264,width=1920,height=1080,framerate=30/1 ! \ h264parse ! avdec_h264 ! \ xvimagesink I have tried a queue throught the chain without seeing any change. htop shows 4 cores at 30ish %. using mplayer directly on the source shows 4 cores at 60ish % with absolutely smooth playback. -v says nothing that grabs attention. Can anybody say ah-ha do this-or-that? Thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le vendredi 23 avril 2021 à 16:47 +0800, James Linder via gstreamer-devel a
écrit : > G’day > > I am (trying out) creating a pipeline to view in 1080 > > gst-launch-1.0 -v -e v4l2src name=source device=/dev/video2 ! \ > video/x-h264,width=1920,height=1080,framerate=30/1 ! \ > h264parse ! avdec_h264 ! \ If you mimic playbin3, you'd add a queue between h264parse and avec_h264, that will avoid loosing frames in v4l2src live source. Please compare against: gst-play-1.0 --use-playbin3 v4l2:///dev/video2 > xvimagesink XV may or may not be the best option for displaying your stream. This entirely depend on the platform, the OS and the display environment you are using. > > I have tried a queue throught the chain without seeing any change. > htop shows 4 cores at 30ish %. > > using mplayer directly on the source shows 4 cores at 60ish % with absolutely smooth playback. > -v says nothing that grabs attention. > > Can anybody say ah-ha do this-or-that? > Thanks > James > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by GStreamer-devel mailing list
Like a real swamp I can see for kilometers, but round my feet is sticky.
I’m testing this pipeline (it works beautifully) gst-launch-1.0 -t v4l2src name=source device=/dev/video2 ! \ video/x-h264,width=1920,height=1080,framerate=30/1 ! \ h264parse ! queue ! avdec_h264 ! \ autovideosink I’ve done lots of reading, can see how to encode h264 from raw at a nominated bit rate. My camera gives h264. (USB2 speed limit for 1080P) I want to save the output. Is the bit rate set by the camera, I do not need to concern myself? Should/could I set bit rate in my pipeline. I presume that before h264parse I’d pipe to mp4mux ! filesink location=myfile.mp4 Thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Learning but still lots to go. I have a test pipeline gst-launch-1.0 -t v4l2src name=source device=/dev/video2 ! \ video/x-h264,width=1920,height=1080,framerate=30/1 ! \ h264parse ! queue ! avdec_h264 ! \ autovideosink I coded that as pipeline = gst_parse_launch ("v4l2src name=source ! " "video/x-h264,width=1920,height=1080,framerate=30/1 ! " "h264parse ! queue ! avdec_h264 ! autovideosink", NULL); The two do not yield the same result, in particular the gst-launch does feedback 1920x1080 to the card. The compiled code does not, so the card stays in its native 720x576 resolution. What and why says -o file, but that option does not exist. How can I find what parse did to make a pipeline thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sat, 2021-04-24 at 15:18 +0800, James via gstreamer-devel wrote:
Hi, > Learning but still lots to go. > > I have a test pipeline > > gst-launch-1.0 -t v4l2src name=source device=/dev/video2 ! \ > video/x-h264,width=1920,height=1080,framerate=30/1 ! \ > h264parse ! queue ! avdec_h264 ! \ > autovideosink > > > I coded that as > > pipeline = gst_parse_launch ("v4l2src name=source ! " > "video/x-h264,width=1920,height=1080,framerate=30/1 ! " > "h264parse ! queue ! avdec_h264 ! autovideosink", NULL); > > The two do not yield the same result, in particular the gst-launch > does feedback 1920x1080 to the card. > The compiled code does not, so the card stays in its native 720x576 > resolution. > > What and why > > https://gstreamer.freedesktop.org/documentation/tools/gst- > launch.html?gi-language=c > > says -o file, but that option does not exist. How can I find what > parse did to make a pipeline gst-launch uses gst_parse_launch() so it should behave the same. Your gst-launch pipeline has an additional device=/dev/video2 though? Cheers Tim _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Tim ta g_object_set (source, "device", argv[1], NULL); but in particular gst-launch passes the resolution back to the card, the compiled pipeline does not. gst-launch does that too (not pass back) if the CAPS are further down the line, ie other elements do not pass caps back. So if parse-launch () does not do it correctly what does parse-launch () actuallly do (read the source, Luke) but how to see the pipeline that it makes. Maybe spelunking -v James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by GStreamer-devel mailing list
Le sam. 24 avr. 2021 00 h 30, James Linder via gstreamer-devel <[hidden email]> a écrit :
If you are satisfied with the resulting stream size and visual quality no. Note that usb/Uvc h264 support is not well standardized. But we have an element uvch264src (hopefully I got the same right) that works with few models following Logitech way. This element will give you extra control, long with a raw / viewport feed.
In theory, this should work, don't forget to send Eos at the end, otherwise the resulting MP4 will be corrupted.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by GStreamer-devel mailing list
Guys I have a card producing h264 video (Sensoray 2263)
I would like to view and record output in 1080. Despite lots of fiddlimg and trying I have not suceeded, so if any body can offer words of wisdom then tnanks. The video stutters and tears. The recording yields a file that mplayer plays with tears vlc shows s creen of video, then a screen of green, repeats shotcut, avidemux and handbrake will not open the file. Using the pipeline, compiled, and an image sixe of 720x576 works without any problen (settings the CAPS feeds the size back to the cards, so that is an easy way to check) Here is my pipeline gst-launch-1.0 v4l2src name=source device=/dev/video2 ! \ video/x-h264,width=1920,height=1080,framerate=30/1 ! \ tee name=t \ t. ! h264parse ! queue ! avdec_h264 ! autovideosink \ t. ! h264parse ! mp4mux ! filesink location=myfile.mp4 sync=true Thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I wonder if this has to do with how the buffers are timestamped. For the pipeline you shared, and given that it is a live source, you should be able to try setting sync=false on both sink elements and see if it makes any difference.
> On 9 May 2021, at 03:17, James via gstreamer-devel <[hidden email]> wrote: > > Guys I have a card producing h264 video (Sensoray 2263) > I would like to view and record output in 1080. > Despite lots of fiddlimg and trying I have not suceeded, so if any body can offer words of wisdom then tnanks. > > The video stutters and tears. > > The recording yields a file that > > mplayer plays with tears > vlc shows s creen of video, then a screen of green, repeats > shotcut, avidemux and handbrake will not open the file. > > Using the pipeline, compiled, and an image sixe of 720x576 works without any problen > > (settings the CAPS feeds the size back to the cards, so that is an easy way to check) > > Here is my pipeline > > gst-launch-1.0 v4l2src name=source device=/dev/video2 ! \ > video/x-h264,width=1920,height=1080,framerate=30/1 ! \ > tee name=t \ > t. ! h264parse ! queue ! avdec_h264 ! autovideosink \ > t. ! h264parse ! mp4mux ! filesink location=myfile.mp4 sync=true > > Thanks > James > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by GStreamer-devel mailing list
Hi I have a programmed pipeline. Stopping seems not straightforward so any hints gratefully accepted. I send SIGTERM to the process The handler sends EOS to the pipeline I wait for EOS message I then complete the SIGTERM It seems to me I should Send EOS to the pipeline Stop the pipeline (or vice verse) Then wait for message and exit Thanks James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I’d really like a clue
my test pipeline looks like this #!/bin/sh # <space> not ! are significant gst-launch-1.0 -v -e v4l2src name=source device=/dev/video2 ! \ video/x-h264,width=1920,height=1080,framerate=30/1 ! \ h264parse ! mp4mux name=mux ! filesink location=myfile.mp4 \ pulsesrc device=alsa_input.usb-Sensoray_Co.__Inc._Sensoray_Model_2263_551645-04.analog-stereo ! lamemp3enc ! queue ! mux. Video and audio are recorded pefectly for 30sec or so the audio drops and messages about n-thousand frames dropped and downstream is too slow to consume the data. Moving the queue about has little effect (affects time until drop). I dont understand please. htop shows 4 cores at about 50% James _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |