首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在windows上运行ffmpeg -实时缓冲区[USB摄像机][视频输入]太满或太满帧丢失。

在windows上运行ffmpeg -实时缓冲区[USB摄像机][视频输入]太满或太满帧丢失。
EN

Stack Overflow用户
提问于 2020-07-14 13:46:20
回答 1查看 1.2K关注 0票数 0

我在macos和linux上取得了成功:

Linux:

代码语言:javascript
运行
复制
ffmpeg \
    -f v4l2 \
    -framerate 25 -video_size 640x480 -i /dev/video0 \
    -f mpegts \
    -codec:v mpeg1video -s 640x480 -b:v 1000k -bf 0 \
    http://localhost:8081/supersecret

MacOS测试:

代码语言:javascript
运行
复制
  ffmpeg -f avfoundation -framerate 30 -video_size 640x480 \
  -i "0" -f mpegts -codec:v mpeg2video -s 640x480 -b:v 1000k \
  -bf 0 http://localhost:8081/supersecret

我已经在windows上安装了ffmpeg,只是需要正确的命令。

我的错误日志是:

/dev/video0: No such file or directory

更新:

ffmpeg -list_devices true -f dshow -i dummy之后我得到:

代码语言:javascript
运行
复制
...
[dshow @ 000001985949ce80] DirectShow video devices (some may be both video and audio devices)
[dshow @ 000001985949ce80]  "USB Camera"
[dshow @ 000001985949ce80]     Alternative name "@device_pnp_\\?\usb#vid_0c45&pid_6340&mi_00#6&313cdc8e&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
...

比我试图运行我的服务器:

代码语言:javascript
运行
复制
ffmpeg -f dshow -i video="USB Camera"  -framerate 30 -video_size 640x480 -f mpegts -codec:v mpeg2video -s 640x480 -b:v 1000k -bf 0 http://localhost:8081/supersecret

我抓到了这根木头:

代码语言:javascript
运行
复制
Input #0, dshow, from 'video=USB Camera':
  Duration: N/A, start: 27271.559000, bitrate: N/A
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 30 fps, 30 tbr, 10000k tbn, 10000k tbc
[dshow @ 0000022a4be9f0c0] real-time buffer [USB Camera] [video input] too full or near too full (101% of size: 3041280 [rtbufsize parameter])! frame dropped!
    Last message repeated 173 times
[tcp @ 0000022a4beae340] Connection to tcp://localhost:8081 failed: Error number -138 occurred
http://localhost:8081/supersecret: Unknown error
[dshow @ 0000022a4be9f0c0] real-time buffer [USB Camera] [video input] too full or near too full (101% of size: 3041280 [rtbufsize parameter])! frame dropped!
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-14 13:51:37

通常,在windows上,您将使用DirectShow作为输入。

列表设备

  • ffmpeg -list_devices true -f dshow -i dummy

示例捕获

  • ffmpeg -f dshow -i video="Integrated Camera" etc...

医生:

请注意,对于StackOverflow来说,这个问题可能被认为是非主题的。在https://superuser.com/上会更好。详细信息:https://meta.stackexchange.com/questions/168740/are-ffmpeg-questions-really-off-topic

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62896679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档