intel-media-sdk / gstreamer-plugins Goto Github PK
View Code? Open in Web Editor NEWIntel(r) Media SDK GStreamer Plugins
License: Other
Intel(r) Media SDK GStreamer Plugins
License: Other
How to use the mfx_gst_h264vd decoding H264 (contains the raw data for I420) RTSP stream ??
exsample :
gst-launch-1.0 rtspsrc typefind=true location=rtsp://admin:[email protected]:554/live/main name=IPtsmuxer3 ! queue max-size-bytes=0 max-size-buffers=3 max-size-time=0 ! rtph264depay ! video/x-h264,framerate=30/1 ! avdec_h264 name=ipdec ! videoconvert name=IPIPU qos=true ! video/x-raw, format=BGRx, width=1920, height=1080 ! queue ! ximagesink -v
this is working very well . because avdec_h264 have format of I420 out .
information follow :
avdec_h264:ipdec.GstPad:src: caps = "video/x-raw,\ format=(string)I420,\ width=(int)1920,\ height=(int)1080,\ pixel-aspect-ratio=(fraction)1/1,\ interlace-mode=(string)progressive,\ chroma-site=(string)mpeg2,\ colorimetry=(string)bt709,\ framerate=(fraction)30/1"
but :
gst-launch-1.0 rtspsrc typefind=true location=rtsp://admin:[email protected]:554/live/main name=IPtsmuxer3 ! queue max-size-bytes=0 max-size-buffers=3 max-size-time=0 ! rtph264depay ! video/x-h264,framerate=30/1 ! mfx_gst_h264vd name=ipdec ! mfx_gst_vpp format=8 ! video/x-raw, format=BGRx, width=1920, height=1080 ! queue ! ximagesink this is not working
bacause mfx_gst_h264vd out format is only nv12
First of all, thanks for the effort of writing all this and releasing it!
It would be good if the video encoders/decoder would use the GstVideoEncoder and GstVideoDecoder base classes. This would make sure that the elements behave exactly like video encoders/decoder should behave in GStreamer and also more special features like reverse playback, QoS handling, forcing of keyframes at specific times, etc would automatically be handled correctly.
It should also allow you to get rid of a lot of GStreamer plumbing code probably, especially if you implement all the features a complete video encoder/decoder should have according to GStreamer standards (see above for a small subset that would already be handled by the base class).
GstVideoEncoder/Decoder are successfully used for various other hardware related GStreamer elements, e.g. gstreamer-vaapi, gst-omx and the Android/iOS video codec API integration.
How to use the mfx_gst_h264vd decoding H264 (contains the raw data for I420) RTSP stream ??
exsample :
gst-launch-1.0 rtspsrc typefind=true location=rtsp://admin:[email protected]:554/live/main name=IPtsmuxer3 ! queue max-size-bytes=0 max-size-buffers=3 max-size-time=0 ! rtph264depay ! video/x-h264,framerate=30/1 ! avdec_h264 name=ipdec ! videoconvert name=IPIPU qos=true ! video/x-raw, format=BGRx, width=1920, height=1080 ! queue ! ximagesink -v
this is working very well . because avdec_h264 have format of I420 out .
information follow :
avdec_h264:ipdec.GstPad:src: caps = "video/x-raw,\ format=(string)I420,\ width=(int)1920,\ height=(int)1080,\ pixel-aspect-ratio=(fraction)1/1,\ interlace-mode=(string)progressive,\ chroma-site=(string)mpeg2,\ colorimetry=(string)bt709,\ framerate=(fraction)30/1"
but :
gst-launch-1.0 rtspsrc typefind=true location=rtsp://admin:[email protected]:554/live/main name=IPtsmuxer3 ! queue max-size-bytes=0 max-size-buffers=3 max-size-time=0 ! rtph264depay ! video/x-h264,framerate=30/1 ! mfx_gst_h264vd name=ipdec ! mfx_gst_vpp format=8 ! video/x-raw, format=BGRx, width=1920, height=1080 ! queue ! ximagesink this is not working
bacause mfx_gst_h264vd out format is only nv12
getting this make error:
../utils/include/mfx_defs.h:32:10: fatal error: mfxdefs.h: No such file or directory
#include "mfxdefs.h"
^~~~~~~~~~~
compilation terminated.
I did this before the make:
MFX_HOME=/opt/intel/mediasdk ./autogen.sh
Hello,
I'm running the following pipeline gst-launch filesrc location=TestVector.mp4 ! qtdemux ! mfx_gst_h264vd ! filesink location=output.yuv
but I get the following error and the pipeline immediately aborts:
Using GST_DEBUG=4
0:00:00.028912264 111869 0x5576da14c200 INFO GST_STATES gstbin.c:2968:gst_bin_change_state_func:<pipeline0> child 'mfx_gst_h264vd0' failed to go to state 2(READY)
Any idea what's happening?
P.S.
I encountered some header file include issues, but then decided to move those headers to the immediate parent directory (/opt/intel/mediasdk/include/
) where it actually tried to look for them. Also moved the libs to /opt/intel/mediasdk/lib/lin_x64
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.