微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用gstreamer解交织H.265

如何解决使用gstreamer解交织H.265

我正在尝试从嵌入式平台流式传输H.265压缩的视频。视频是由模拟摄像机采集的,其输出是隔行扫描的,然后由硬件编码器压缩。

如果我不使用压缩功能,而是使用v4l2-ctl获取文件,然后使用ffplay在我的PC上进行隔行扫描,那么一切就完美了:

# On the embedded system 
v4l2-ctl -d /dev/video0 -w --verbose --set-fmt-video=width=720,height=288,pixelformat=YUYV --stream-mmap --stream-count=300 --stream-to=test.raw
# Deinterlacing on my PC
ffplay -s 768x288 -vcodec rawvideo -f rawvideo -pix_fmt yuyv422 -i test.raw -vf tinterlace=mode=0

但是,当使用gstreamer时,我获取的视频不再起作用。我已经尝试在管道中的任何地方安装 deintelace 插件,无论是否使用H.265压缩,我都尝试过,无论是否使用UDP流,我都尝试过......去隔行扫描。

到目前为止,下面的管道(在发送方)是我所拥有的:

gst-launch-1.0 v4l2src device="/dev/video0" ! video/x-raw,width=720,format=YUY2,interlaced=true ! decodebin ! videoconvert ! deinterlace ! videoconvert ! "video/x-raw,format=YUY2" ! nvvidconv ! "video/x-raw(memory:NVMM),format=I420 interlaced=false" ! nvv4l2h265enc ! rtph265pay ! udpsink port=$PORT host=$HOST_IP

在接收方,我使用:

gst-launch-1.0 udpsrc port=$PORT ! "application/x-rtp,encoding-name=H265,payload=96" ! rtph265depay ! h265parse ! decodebin ! autovideosink

是否有任何建议与v4l2-ctl / ffplay相同,但使用gstreamer吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。