我看到了大量有关将 raspivid 流直接传输到 FFMPEG 以进行编码、混合和重新流式传输的信息,但这些用例主要来自 bash;相似:
raspivid -n -w 480 -h 320 -b 300000 -fps 15 -t 0 -o - | ffmpeg -i - -f mpegts udp://192.168.1.2:8090ffmpeg
我希望利用 Picamera 库的功能,这样我就可以使用 OpenCV 和类似方法进行并发处理,同时仍然使用 FFMPEG 进行流式传输。但我不知道如何正确打开 FFMPEG 作为子进程并将视频数据传输给它。我见过很多尝试、未答复的帖子和声称已经这样做的人,但似乎没有一个在我的 Pi 上工作。
我应该使用 Picamera 创建视频缓冲区并将原始视频通过管道传输到 FFMPEG 吗?我可以使用 camera.capture_continuous() 并将我用于 OpenCV 计算的 bgr24 图像传递给 FFMPEG 吗?
我已经尝试了各种变体,但我不确定我是否只是误解了如何使用子流程模块、FFMPEG,或者我只是缺少一些设置。我知道原始流不会有任何元数据,但我不完全确定我需要给 FFMPEG 什么设置才能理解我给它的内容。
我有一个 Wowza 服务器,我最终将流式传输到,但我目前正在通过流式传输到笔记本电脑上的 VLC 服务器进行测试。我目前试过这个:
import subprocess as sp
import picamera
import picamera.array
import numpy as np
npimage = np.empty(
(480, 640, …Run Code Online (Sandbox Code Playgroud)