gpt4 book ai didi

带有 h264 数据的 gstreamer shmsrc 和 shmsink

转载 作者:行者123 更新时间:2023-12-02 17:24:07 27 4
gpt4 key购买 nike

我正在尝试将来自 gstreamer 的 h264 编码数据共享到另外两个进程(均基于 gstreamer)。经过一些研究,我发现唯一的方法是使用 shm 插件。这就是我想要做的

gstreamer--->h264 encoder--->shmsink
shmrc--->process1
shmrc--->process2

我能够从 videotestsrc 和网络摄像头工作中获取原始数据。但是对于 h264 编码的数据,它没有。这是我的测试管道

gst-launch-1.0 videotestsrc ! video/x-raw,width=640,height=480,format=YUY2 ! 
x264enc ! shmsink socket-path=/tmp/foo sync=true wait-for-
connection=false shm-size=10000000

gst-launch-1.0 shmsrc socket-path=/tmp/foo ! avdec_h264 ! video/x-
raw,width=640,height=480,framerate=25/1,format=YUY2 ! autovideosink

有没有人用h264编码数据试过shm插件,请帮忙

最佳答案

我不知道您在“autovideosink”中使用的接收器的功能,但据我所知,如果接收器支持的格式(如 kmssink 或 ximagesink)与源提供的格式不同,则您需要使用 videoconvert(在你的情况下 YUY2) 或者如果接收器支持相机格式,则使用 videoparse。您可以使用 gst-inspect-1.0 检查支持的格式。

无论如何,我可以在我的设置中使用 videoconvert 进行一些修改来运行您的管道:

./gst-launch-1.0 videotestsrc ! x264编码! shmsink socket-path=/tmp/foo sync=true wait-for-connection=false shm-size=10000000

./gst-launch-1.0 shmsrc socket-path=/tmp/foo ! h264解析! avdec_h264 !视频转换! ximagesink

您可以根据需要修改它。

如果您遇到上述任何问题,请告诉我。

关于带有 h264 数据的 gstreamer shmsrc 和 shmsink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40260580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com