【问题标题】:How to access compressed stream from webcam with ffmpeg如何使用 ffmpeg 从网络摄像头访问压缩流
【发布时间】:2014-12-12 23:08:06
【问题描述】:

我想用 ffmpeg 直播网络摄像头。我的 Logitech c920 网络摄像头具有原始和压缩数据的输出流。命令ffmpeg -f v4l2 -list_formats all -i /dev/video1 产生以下控制台输出:

[video4linux2,v4l2 @ 0x26709e0] Raw       :   yuyv422 :     YUV 4:2:2 (YUYV) : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080 2304x1296 2304x1536
[video4linux2,v4l2 @ 0x26709e0] Compressed:      h264 :                H.264 : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
[video4linux2,v4l2 @ 0x26709e0] Compressed:     mjpeg :                MJPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080

我想复制压缩的 h264 图像并将其发送到 ffserver。

当我使用此命令ffmpeg -r 25 -f v4l2 -i /dev/video0 -c:v libx264 -b:v 2500k http://localhost:8090/feed1.ffm 程序获取原始 数据并使用h264 编解码器对其进行转码。

当我将 -c:v libx264 更改为 -c:v copy 时,我收到一个错误,因为 ffmpeg 尝试复制原始相机图像。

如何访问 h264 压缩图像并将其发送到服务器?

【问题讨论】:

  • 我想知道我是否可以问一下?你是如何发布捕获的视频的,我的意思是输出到服务器假设我有一个 USB 摄像头连接到我的电脑上,我想直播。所以我需要将视频发布到服务器,然后为用户直播你是怎么做到的设法做到了,请帮忙?
  • 我不需要通过直播上线。我需要同一个 wifi 中的功能,因此执行命令中的“localhost”。我使用了this answer 中描述的方法。请注意,ffserver 将在下一个版本中删除。我建议你阅读the ffmpeg streaming guide

标签: video ffmpeg streaming webcam


【解决方案1】:

FFmpeg 有一个input_formatoption 来指定输入设备的格式。尝试将-input_format h264 作为输入选项添加到您的命令中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    相关资源
    最近更新 更多