相关疑难解决方法(0)

如何将实时视频帧从ffmpeg传输到PIL?

我需要使用ffmpeg/avconv将jpg帧传输到python PIL(Pillow)Image对象,使用gst作为中介*.我一直在寻找这个答案而没有太多运气.我想我很接近 - 但我被困住了.使用Python 2.7

我从python启动的理想管道如下所示:

  1. ffmpeg/avconv(作为h264视频)
  2. 管道 - >
  3. gst-streamer(帧分为jpg)
  4. 管道 - >
  5. Pil图像对象

我将控制的前几个步骤作为单个命令,将.jpgs写入磁盘的速度与硬件允许的速度一样快.

该命令看起来像这样:

command = [
        "ffmpeg",
        "-f video4linux2",
        "-r 30",
        "-video_size 1280x720",
        "-pixel_format 'uyvy422'",
        "-i /dev/video0",
        "-vf fps=30",
        "-f H264",
        "-vcodec libx264",
        "-preset ultrafast",
        "pipe:1 -",
        "|", # Pipe to GST
        "gst-launch-1.0 fdsrc !",
        "video/x-h264,framerate=30/1,stream-format=byte-stream !",
        "decodebin ! videorate ! video/x-raw,framerate=30/1 !",
        "videoconvert !",
        "jpegenc quality=55 !",
        "multifilesink location=" + Utils.live_sync_path + "live_%04d.jpg"
      ]
Run Code Online (Sandbox Code Playgroud)

如果使用popen或os.system运行,这将成功将帧写入磁盘.

但是我没有将帧写入磁盘,而是想要捕获我的子进程管道中的输出,并在写入时将帧读取到类似文件的缓冲区中,然后由PIL读取.

像这样的东西:

    import subprocess as …
Run Code Online (Sandbox Code Playgroud)

python linux ffmpeg gstreamer raspberry-pi

9
推荐指数
1
解决办法
3899
查看次数

如何在Linux UVC Driver中启用UVC_QUIRK_FIX_BANDWIDTH怪癖?

我目前正在尝试在Wandboard主板上运行2个网络摄像头,这些主板必须共享USB集线器.问题是,当前的驱动程序实现(仅限YUV)使USB集线器饱和,最后我只能连接一个摄像头.

然而,UVC驱动实现有此怪癖样的情况,等等.

问题是,我没有找到任何关于如何加载这些怪癖的文档.你可以帮助我吗?

linux v4l2 uvc

7
推荐指数
2
解决办法
9347
查看次数

OpenCV无法从Linux上的8个以上网络摄像头中捕获

OpenCV无法在Linux上为超过8个网络摄像头打开VideoCaptures.这是一个简单的例子:

# "opencap.py"
import cv2, sys
dev = int(sys.argv[1])
cap = cv2.VideoCapture(dev)
print "device %d: %s" %(dev, "success" if cap.isOpened() else "failure")
Run Code Online (Sandbox Code Playgroud)

对于我的设置(OpenCV 2.4.11,Ubuntu 14.04),例如9个网络摄像头,opencap.py成功进行了前8个网络摄像头(0-7),但对于最后一个我获得

> python opencap.py 8
HIGHGUI ERROR: V4L: index 8 is not correct!
device 8: failure
Run Code Online (Sandbox Code Playgroud)

注意:v4l2-ctl --list-devices正确列出9个网络摄像头(/ dev/video0,...,/ dev/video8).

python linux webcam opencv limit

2
推荐指数
1
解决办法
385
查看次数

标签 统计

linux ×3

python ×2

ffmpeg ×1

gstreamer ×1

limit ×1

opencv ×1

raspberry-pi ×1

uvc ×1

v4l2 ×1

webcam ×1