Gstreamer 如何从视频/x-h264 切换到视频/x-raw

问题描述 投票:0回答:1

我有以下运行良好的 gstreamer 管道:

gst-launch-1.0 -e rtspsrc user-id="user" user-pw="pass" location="rtsp://...:554/user=a...._channel=1_stream=0.sdp?real_stream" name=src src. ! rtph264depay ! h264parse config-interval=-1 ! splitmuxsink location=/media/device/video/file_test_%02d.mp4 max-files=5 max-size-time=10000000000

我需要从 h264parse 到 video / x-raw 或从 application / x-rtp 到 video / x-raw 以包含文本覆盖元素。

如果我使用解码器(decodebin、avdec_h264),CPU消耗会增加太多并且处理变得非常慢。

带解码器的管道:

1.

gst-launch-1.0 -e rtspsrc user-id="admin" user-pw="syrus" latency=100 location="rtsp://...:554/user=a...._channel=1_stream=0.sdp?real_stream" name=src src. ! rtph264depay ! h264parse config-interval=-1 ! avdec_h264 output-corrupt=false skip-frame=5 ! x264enc key-int-max=0 ! splitmuxsink location=/media/device/video/file_test_%02d.mp4 max-files=5 max-size-time=10000000000
gst-launch-1.0 -e rtspsrc user-id="admin" user-pw="syrus" location="rtsp://...:554/user=a...._channel=1_stream=0.sdp?real_stream" name=src src. ! decodebin ! videoconvert ! x264enc key-int-max=1 ! splitmuxsink location=/media/device/video/file_test_%02d.mp4 max-files=5 max-size-time=10000000000

有没有不用解码器的办法? 或者有什么方法可以提高解码器的性能?

pipeline gstreamer-1.0
1个回答
0
投票

Decodebin 插件只会发现媒体类型并实例化正确的插件来实际进行解码。 Decodebin 最有可能在底层使用 avdec_h264 (取决于您系统中安装的其他插件)。 也就是说,如果您有可用的 GPU,则可以使用硬件加速解码。 您可以使用一些插件,但对于基于 Intel 的芯片,我在 vaapih264dec 上取得了很好的结果。该插件是整套 GPU 加速解码器的一部分。

© www.soinside.com 2019 - 2024. All rights reserved.