总结:关于使用ffmpeg video4linux2 打开usb摄像头流的失败过程排查
来源:互联网 发布:太极拳威力知乎 编辑:程序博客网 时间:2024/05/29 04:45
在ubuntu下,虽然使用opencv能够能够打开usb摄像头视频流,但项目中用的 ffmpeg作为解码工具。
之前的代码能够正常打开rtsp流了。
网上搜索到使用代码:
...............................AVInputFormat *inputFmt = av_find_input_format("video4linux2"); ...............................avformat_open_input(&ic, "/dev/video0", inputFmt, NULL);...............................
但inputFmt始终未找到为NULL。
1:再次网上搜索,找到一个使用video4linux2的,需要
sudo apt-get install libv4l-dev
仍然还是不行。
2:最后仔细看了下ffmpeg的编译配置帮助configure --help,找到与v4l2相关的:
--enable-libv4l2
然后重新编译了。
3:测试还是不行,发现之前的代码里初始化时少了 avdevice_register_all()
4:然后还是不行,最后发现在avcodec_alloc_context3生成的默认AVCodecContext不能通过avcodec_open2打开摄像流的解码。
需要使用avcodec_parameters_to_context修改默认的AVCodecContext 为摄像头流使用的。 本人使用的ffmpeg3.1.3。有一种过时的方法获取AVCodecContext* ,通过获取到的 AVStream->codec
0 0
- 总结:关于使用ffmpeg video4linux2 打开usb摄像头流的失败过程排查
- 使用ffmpeg捕获USB外部摄像头视频流
- 使用ffmpeg捕获USB外部摄像头视频流实时播放
- 使用ffmpeg捕获USB外部摄像头视频流
- 使用FFmpeg+SDL打开Mac摄像头
- 关于usb枚举过程set config失败的调查
- ROS打开USB摄像头
- OpenCV打开摄像头失败
- 关于ffmpeg工具的使用总结
- 关于使用universal usb installer 安装 archlinux 失败的问题
- 基于DirectShow和FFmpeg的USB摄像头监控软件
- Qt/Linux 下的摄像头捕获(Video4Linux2)
- Qt/Linux 下的摄像头捕获(Video4Linux2)
- Qt/Linux 下的摄像头捕获(Video4Linux2)
- Qt/Linux 下的摄像头捕获(Video4Linux2)
- usb摄像头方案总结
- usb摄像头方案总结
- 关于USB的总结
- 同一进程下的线程可以共享哪些资源
- 史上最全的Maven Pom文件标签详解
- 哈密顿图
- 动态方法访问
- A算法与A*算法区别
- 总结:关于使用ffmpeg video4linux2 打开usb摄像头流的失败过程排查
- linux创建守护进程
- git 学习
- 买不到的糖果
- Struts2标签
- web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义
- linux 修改主机名
- mariadb互为主从,读写分离
- 1629: [Usaco2007 Demo]Cow Acrobats