Linux下调用ffmpeg库录像问题

wenzheng101 2011-11-22 05:01:38
我调用ffmpeg的库,将h264码流录制成avi文件。但是录出来的文件用播放器播放时,大约在11~12秒左右就会出现模糊,然后又恢复正常,并且这个现象是周期性的,请问大家这是什么原因造成的?
...全文
322 13 打赏 收藏 转发到动态 举报
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
  • 打赏
  • 举报
回复
出现模糊,可能是丢帧了吧,是怎么样的模糊,整个图像模糊黑掉还是有运动物体部分模糊?

2,553

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧