Hello guys,
I construct one rtsp pipeline and one hls pipeline. Both of them use autovideosink. Now I want to add a zoom function by applying videocrop element. It works for both pipelines when the video is playing. But once I pause the stream, zoom isnot available until I continue to play the video. I understand that it's reasonable for a paused state to prevent pushing data. But I still want to search for a way to realize the zoom when paused. I attach my two pipeline here: rtspsrc name=src latency=1000 buffer-mode=1 protocols=4 src. ! queue ! rtph264depay ! avdec_h264 ! videocrop name=cropper top=0 left=0 right=0 bottom=0 ! autovideosink src. ! queue ! rtpmp4gdepay ! aacparse ! faad ! volume name=vol volume=0.00000001 ! autoaudiosink souphttpsrc name=src ! hlsdemux ! tsdemux name=u u. ! queue ! h264parse ! avdec_h264 ! videoconvert ! videocrop name=cropper top=0 left=0 right=0 bottom=0 ! videoscale ! autovideosink u. ! queue ! aacparse ! faad ! volume name=vol volume=0.00000001 ! audioconvert ! audioresample ! autoaudiosink I searched in this forum for hours but nothings found very helpful. Any help would be appreciated! |
My first idea is to create your own videosink element that integrates videocrop functions. In paused state, get “last-sample” (video frame rendered on screen) for video cropping. Then render cropped frame again.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |