你好,我刚刚将操作系统从 14.04 升级到 14.10,当我看到新版本的 gstreamer 时,我很兴奋,但问题是缺少 h264parse 元素。我尝试重新安装 gstreamer1.0-plugins-bad,但没有成功。当我使用 decryptbin 时,它会自动使用 vaapiparse_h264,当我尝试运行管道时,我收到此错误:
将管道设置为播放...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_plane: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_pitch: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_plane: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_pitch: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_plane: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_vaapi_image_get_pitch: assertion 'image != NULL' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_video_meta_unmap_vaapi_memory: assertion 'mem->surface' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_video_meta_unmap_vaapi_memory: assertion 'mem->surface' failed
** (gst-launch-1.0:17411): CRITICAL **: gst_video_meta_unmap_vaapi_memory: assertion 'mem->surface' failed
Got EOS from element "pipeline0".
Execution ended after 0:00:02.419777862
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
我的管道:
rtspsrc -> decodebin -> autovideosink
这是包装问题还是我做错了什么?
答案1
根据http://gstreamer-devel.966125.n4.nabble.com/h264parse-has-been-removed-from-gstreamer-1-0-td4671468.html,该h264parse
过滤器现在是 的一部分libgstvideoparsersbad
。
我已确认已gstreamer1.0-plugins-bad-videoparsers
安装,现在一切正常。过滤器本身已重命名为“legacyh264parse”,但旧名称有一个别名,因此它应该可以正常工作。