采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
采集方式 分辨率640x480 采样帧率 40 伪代码 nRet = av_read_frame(lpFormatCon, &strPack); fwrite(播放文件(video3.yuv))
播放命令 ffplay -s 640x480 -pix_fmt yuyv422 video3.yuv
视频速度快,像快进一样,采集一分钟,25s就播放完成
问题是不是出在采集的帧率和播放的帧率不一致导致的,如何调整.
你是如何确认你采集的是40的帧率?
AVInputFormat *lpFormat = av_find_input_format("video4linux2"); if(lpFormat == NULL) { av_strerror(nRet, szError, 1024); av_log(NULL, AV_LOG_DEBUG, "av_find_input_format error:[%d]%s\n", nRet, szError); return NULL; } nRet = av_dict_set(&lpOptions,"video_size", "640x480", 0); nRet = av_dict_set(&lpOptions,"framerate", "30", 0); //简写是-r 帧率 //!open device nRet = avformat_open_input(&lpFormatCon, lpDevice, lpFormat, &lpOptions);
以上是我采集的方式,我设置30帧率也不行
你设置帧率后,还要看ffmpeg 真正运行时使用的帧率,他会通过控制台讲真实帧率打印出来
登录后可查看更多问答,登录/注册
掌握音视频采集、编解码、RTMP传输协议等核心基础
1.9k 17
1.2k 12
1.3k 11
1.2k 11
2.2k 10
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号