Chinaunix首页 | 论坛 | 博客
  • 博客访问: 545899
  • 博文数量: 469
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 1495
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-15 21:04
文章分类

全部博文(469)

文章存档

2015年(81)

2014年(125)

2013年(261)

2012年(2)

分类: Android平台

2013-11-26 13:25:30

  1.  avcodec_encode_video2(c, &pkt, dstVideoFrame, &got_output); 将pkt.data直接写入文件,用ffplay播放时会很快;
  2. 对于上面的结果用ffmpeg -i a b;直接转换一下,播放速度变慢;(下面讨论a就是原始编码文件,b就是ffmpeg的转码文件)
  3. 中pkt.pts 就是dstVideoFrame中的pts; 对于直接将pkt的data写入文件后生成的多媒体文件,播放时没有任何影响;修改pkt.dts对于播放速度没有任何效果;不影响编码显示效果;
  4. ffmpeg后的文件的播放速度直接又fps决定; 测试方法如下:保持一定的原始图片供给速度,将fps加大,(如实际供给是13,但是代码中fps时25)。再播放b时,实际速度加倍了。(就是实际录制了20秒的视频,10秒播放完毕);
  5. 编码前将dstVideoFrame.pts设为0, 编码质量很差,b文件的播放速度正确;(从log看每次pkt.size变得很小);
  6. 比较了dstVideoFrame.pts每次+4,和pts每次+1的编码输出,明显发现跳变(每次+4)时每帧输出变大;
  7. 由此可见,该文件中并没又记录每帧在什么时候播放,b文件在转吗时,就是简单额根据每秒的帧数安排时间;
  8. 降低bit_rate后,发现输出文件也明显变小;
2.
阅读(1068) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~