社区
多媒体/流媒体开发
帖子详情
Linux下调用ffmpeg库录像问题
wenzheng101
2011-11-22 05:01:38
我调用ffmpeg的库,将h264码流录制成avi文件。但是录出来的文件用播放器播放时,大约在11~12秒左右就会出现模糊,然后又恢复正常,并且这个现象是周期性的,请问大家这是什么原因造成的?
...全文
326
13
打赏
收藏
Linux下调用ffmpeg库录像问题
我调用ffmpeg的库,将h264码流录制成avi文件。但是录出来的文件用播放器播放时,大约在11~12秒左右就会出现模糊,然后又恢复正常,并且这个现象是周期性的,请问大家这是什么原因造成的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenzheng101
2011-12-20
打赏
举报
回复
问题找到,是encoder的问题,编码的数据有丢帧现象。
junbo_wu33
2011-12-16
打赏
举报
回复
你可以使用ffmpeg或者其他工具把你录制的码率剥离出来,看看h264的raw stream播放是否正常。确定问题出在encoder or muxer?
ffmpeg -i inputfile -vcodec copy -an outputfile
此处outputfile你可以写成 *.h264
wenzheng101
2011-11-29
打赏
举报
回复
贴一下代码:
static void write_video_frame(AVFormatContext *oc, AVStream *st)
{
unsigned long ulAddr = 0;
int out_size = 0;
int IsKey = 0;
int ret = 0;
static double InvCnt = 0;
AVCodecContext *c;
c = st->codec;
/* encode the image */
ret = GetVideoInterface( &ulAddr , &out_size, &IsKey, 0);
if(ret != 0)
return;
c->coded_frame->key_frame = IsKey;
if (out_size > 0) {
AVPacket pkt;
av_init_packet(&pkt);
pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
if(c->coded_frame->key_frame)
pkt.flags |= PKT_FLAG_KEY;
pkt.stream_index= st->index;
pkt.data= (uint8_t *)ulAddr;//video_outbuf;
pkt.size= out_size;
st->pts.val = InvCnt ;
InvCnt++;
ret = av_write_frame(oc, &pkt);
} else {
ret = 0;
}
if (ret != 0) {
exit(1);
}
}
wenzheng101
2011-11-29
打赏
举报
回复
高手顶一下啊,求救求救
mountqi
2011-11-28
打赏
举报
回复
是不是你的cpu不够快,导致编码跟不上视频采集的速度? x264还是很耗cpu的。
找个快点的pc试试
wenzheng101
2011-11-28
打赏
举报
回复
不是的,cpu占用率10%都没到。
CyberLogix
2011-11-24
打赏
举报
回复
录制成avi文件没有经过再编码过程吧,那就是MUX的问题了
wenzheng101
2011-11-24
打赏
举报
回复
还有,我发现,如果是有运动物体的话,模糊一般发生在运动物体附近;如果是静止场景的话,有时会整个图像灰一下。
wenzheng101
2011-11-24
打赏
举报
回复
MUX的问题,请大侠说得再详细些吧。
wenzheng101
2011-11-23
打赏
举报
回复
懂ffmpeg的高手帮帮忙啊,给点意见嘛。。。。
dancingmokey
2011-11-23
打赏
举报
回复
帮顶~~~
最近在做嵌入式linux下的流媒体传输
头大~~~
wenzheng101
2011-11-22
打赏
举报
回复
没有丢帧,我调试过。应该是录像的问题吧。。。有时候是整个图像灰掉,有时是部分模糊。
kkkkksn
2011-11-22
打赏
举报
回复
出现模糊,可能是丢帧了吧,是怎么样的模糊,整个图像模糊黑掉还是有运动物体部分模糊?
LINUX
ffmpeg
USB摄像头使用
1、保持在 ubuntu 界面!拔下来usb摄像头,等待个十秒钟左右(可以在虚拟机->可移动设备中查看),再插上 usb 摄像头,会弹出一个设备选择框,将 usb 摄像头连接到虚拟机上。出现/dev/video0 这样格式就说明虚拟机识别了USB摄像头。只是为了单纯的先显示出来,所以没必要用ffpeg。终端运行代码,安装应用程序茄子。就会弹出一个框显示视频。
Qt/C++源码/监控GB28181组件/实时视频/云台控制/预置位/
录像
回放和下载/事件订阅/语音对讲
gb28181协议一般会选择udp通信,默认也是udp,早期国标设备都是只支持udp。服务端开启端口监听,设备端填写好对应参数后,会尝试往对应端口发数据进行连接。设备端间隔(心跳间隔默认是60s)发送REGISTER信令,服务端收到后,分析数据中是否带了鉴权信息(也就是用户认证相关信息),没有带的话则应答Unauthorized,带了的话,可以取出认证的信息,和要求的参数对比,比如国标服务端编号、认证密码、域编码信息,不一致则应答信息错误,叫客户端重新发。都没
问题
则表示认证通过。
C#
调用
本地摄像头录制视频并保存项目
C#
调用
本地摄像头录制视频并保存项目(包含详细的完整的程序和数据)资源-CSDN文
库
https://download.csdn.net/download/xiaoxingkongyuxi/89879745。这为开发者提供了一个良好的基础,方便进一步扩展功能,除了基本的视频录制,还可以添加滤镜、特效、录制控制等功能,提升用户体验和应用的实用性。通过这项技术,开发者可以为用户提供有效的视频记录功能,并为后续的应用扩展奠定基础。:优化视频录制的性能,支持更高分辨率的视频录制。:支持视频的实时录制和保存。
H264解码器源码(Android 1.6 版)
H264解码器源码,移植
ffmpeg
中的H264解码部分到Android,深度删减优化,在模拟器(320x480)中验证通过。 程序的采用jni架构。界面部分,文件读取,视频显示都是用java做的,底层的视频解码用C来做满足速度的要求。 在这个版本中,从H264码流中分割出Nal是在java层做的,这样在java层直接
调用
解码时就知道是否有显示视频,缺点的就是耦合度/封装性差一点。
微信js_sdk开发
jar 下载路径:https://download.csdn.net/download/xsf1840/10318356最近项目中需要用到手机H5页面中录制 音频 视频 的上传回显功能,在开发中发现ios系统对input标签存在兼容性
问题
导致在页面直接实现音频录制存在困难,包括网上的插件都是基于js实现,所以也都存在兼容性
问题
。<!--
调用
手机的
录像
功能和直接打开系统文件目录。苹果手机调出来...
多媒体/流媒体开发
2,553
社区成员
20,277
社区内容
发帖
与我相关
我的任务
多媒体/流媒体开发
专题开发/技术/项目 多媒体/流媒体开发
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章