gpt4 book ai didi

c++ - 使用 Raspberry Pi 转换 mp4 文件并将它们流式传输到查看器

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:03 29 4
gpt4 key购买 nike

注意:我的项目的目标是用 Raspberry Pi 4 替换普通的 Intel Core PC

我有一个在 Intel PC 上运行良好的相机模拟。它获取 MP4 文件并使用 jpegenc 将它们编码为 jpeg。使用 GStreamer 及其插件,即 avdec_h264 和 qtdemux,效果很好。还有一个选项可以使用 vaapih264dec 及其对应的 jpeg 编码器。这很有用,因为使用非硬件优化插件时 CPU 使用率非常高。也就是说,在 Pi 上,这个程序也能正常工作,但只有 4 个摄像头,我们在所有 4 个内核上的使用率都是 100%。

现在我已经研究了很多,第一个答案是使用 omxh264dec,因为它是 RPi 的 vaapi 对应物(或者我假设如此)。我无法让它工作,每次我尝试任何不同的东西时,Pipeline 都不会构建。

我试过了:

-交换解复用器

-更改解码器和编码器(除了使用 CPU 的组合似乎都行不通)

-在 GStreamer 论坛上询问(只是被告知它不能那样工作,但不知道从哪里开始寻找其他地方)

-甚至尝试在没有整个程序的情况下构建管道,但即使那样似乎也不适用于 omxh264

管道:

gst-launch-1.0 filesrc location=/home/pi/test.mp4 ! qtdemux ! h264parse ! omxh264dec ! autovideosink

给出这个错误:

Leitung wird auf PAUSIERT gesetzt ...  
Leitung läuft vor …
FEHLER: Von Element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data s$
Zusätzliche Fehlerdiagnoseinformation:
qtdemux.c(6073): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux$
streaming stopped, reason not-negotiated (-4)

所以我的问题真的是:是否有可能以某种方式使用 Gstreamer 和流式传输 omxdecoded 素材,如果不能,我如何仍然可以在我的程序上使用更少的 CPU,这样我的 RPi 就不会死掉。

最佳答案

Raspberry Pi 仅支持 1080p60 H.264 high-profile 编码/解码。在 PC 中运行此管道,您可以看到 test.mp4 配置文件。

gst-launch-1.0 filesrc location=/home/pi/test.mp4 ! qtdemux ! h264parse ! avdec_h264 ! autovideosink -v

关于c++ - 使用 Raspberry Pi 转换 mp4 文件并将它们流式传输到查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59029137/

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