Hi all
I try to decode H264 RTSP stream to YUV in my c++ code I use Ubuntu Server 14.04 and chipset Intel i965 driver for Intel(R) Skylake - 1.8.0.pre1 My streamer pipeline with software decoding is something like this: rtspsrc location=... ! rtph264depay ! queue ! avdec_h264 ! video convert ! ... ! appsink to use it I installed: gstreamer-1.8.3 gst-plugins-base-1.8.3 gst-plugins-good-1.8.3 gst-libav-1.8.3 and it's seems work ok. Because my motherboard have availability to use decoder from hardware acceleration I tried to add it support. Installed: intel-vaapi-driver libra libra-utils gst-plugins-bad-1.8.3 gstreamer-vaapi-1.8.3 vainfo libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.8.0.pre1 (1.7.3-306-g8ccf612) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice But how I see to use it I need install X Server. I tried to test is: gst-launch-1.0 filesrc location= big_buck_bunny_720p_h264.mov ! qtdemux ! h264parse ! vaapidecode ! fakes, but without X11 it's not work. How I can add decoding hardware acceleration without installing X server? (It's possible?) It's posible parallel decode video using hardware and software decoders together? When is not availability hardware decoded (because it overload) change to software decode Thanks. |
It should not. vaapi elements can work headless using the libdrm vaapi backend. What error do you have? The problem with release 1.8 is, if your are going to map in userspace the VA surfaces, you might have an data alignment problem. That was fixed in 1.10. You can force, using vaapsink to set the drm backend using "vaapisink display=drm" in your pipeline. vmjl |
Free forum by Nabble | Edit this page |