本文使用 ffmpeg(4.0版本)的dll、lib、include进行视频编码。相关基本知识可参考以下博客:

https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/68496213

  1. 编码生成的视频模糊、清晰度特别差。

原因是:未对编码器的上下文信息的码率进行显示设置,或设置的过低,(默认的值太小不满足)

AVCodecContext* pCodecCtx;//编码器上下文信息

如果待编码的图像大小是1920*1080时,码率设置为4000000;

pCodecCtx->bit_rate = 4000000;

码率和质量成正比,但是文件体积也和码率成正比。这是要牢记的,但是码率超过一定数值,对画面的质量没有多大影响。

2. 生成的MP4格式视频播放时,速度特别快,码率很大

生成avi格式视频没有问题,但是生成mp4格式的视频就播放速率特别快,原因是:

//写文件头
avformat_write_header(pFormatCtx,NULL); 

在生成avi时,执行该句后,pFormatCtx中的time_base是之前设置的{1,25};

但是在生成MP4时,执行该句后,pFormatCtx的time_base被改变了,成为{1,12800};

因此,在生成MP4格式视频时,需要把写文件头的语句写成以下形式:

//写文件头AVDictionary *opt = 0;av_dict_set_int(&opt, "video_track_timescale", 25, 0);avformat_write_header(pFormatCtx,&opt); 

以前旧版本的ffmpeg没有这个问题,如果使用最新的版本是存在这个问题的。该问题的解决是参考以下链接解决的:

http://blog.sina.com.cn/s/blog_56ab14d50102wyur.html

ffmpeg h264 视频编码 模糊问题、MP4播放速度快问题相关推荐

  1. Linux系统安装ffmpeg + h264视频编码

    通过我这篇文章安装的小伙伴可能会遇到h264编码转换失败的问题,本篇文章将完美解决这个问题. 此篇文章方法也适合未安装ffmpeg的系统,忽略第一步即可. 1.首先,进入你安装的ffmpeg文件夹下, ...

  2. mp4v2再学习 -- H264视频编码成MP4文件

    一.H264视频编码成MP4文件 参看:H264视频编码成MP4文件 参看:mp4v2在VS2010下的编译与在项目中的使用 最近做项目需要将H264文件封装为mp4文件,从网上找到了MP4V2库,下 ...

  3. H264视频编码成MP4文件

    http://blog.csdn.net/firehood_/article/details/8813587 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近需要将H264视频编码成MP4格 ...

  4. 视频教程-FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-C/C++

    FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟 ...

  5. FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-夏曹俊-专题视频课程...

    FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-3798人已学习 课程介绍         本课程讲解的是基于流行的直播技术 FFMpeg3.3音视频处理框架,和应用广的 ...

  6. linux deepin使用FFmpeg处理视频格式、尺寸、播放速度

    背景 deepin下的视频处理.剪辑软件可选择的比较少,没有Window下常用的PR.AE.格式工厂等,达芬奇由于依赖的问题不是很好安装.我们可以充分利用deepin系统自带的FFmpeg,完成常用的 ...

  7. 基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt)

    基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt) 昨晚把源代码好好整理了一下,加入了视频时间限制功能.源码放这里,大家随便用. 关于代码的解释可以看我另一篇博客: 基于 FF ...

  8. 基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅)

    基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅) 本文参考了雷博士的博客: 最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265)) 还参考了另一篇博客: ...

  9. 使用ffmpeg将视频转为hls格式并播放

    转换并播放视频文件 使用ffmpeg进行视频拆分 [为什要进行拆分] 如果直接将MP4文件放放到网站目录当中,必须下载整个视频才可以播放,解决办法是将视频分成一小片来传输,比如将MP4转码为M3U8格 ...

  10. ffmpeg将视频flv格式转为mp4格式

    前言 最近使用bilibili哔哩哔哩下载助手下载B站的视频时,发现下载的视频的格式都是.flv,因此想利用网络上的在线转换工具将flv转为mp4格式,无奈转换后的mp4视频,下载速度感人,于是使用f ...

最新文章

  1. 2019.03.13 ZJOI2019模拟赛 解题报告
  2. zookeeper源码分析之四服务端(单机)处理请求流程
  3. 在图形中使用指定字体
  4. 10月碎碎念--谈如何做选择
  5. linux 查看进程
  6. 【评论】GNU/Linux下有多少是GNU的?
  7. labelme实例分割_GitHub:图像分割最全资料集锦
  8. Git笔记(17) 协议
  9. python基础教程慕课_Python基础教程(6)--抽象
  10. Portal widget 插入 widget
  11. install cuda on ubuntu
  12. linux 查看防火墙对应的进程,Linux系统防火墙进程查看的实用方法
  13. 解决Layui表格需表头固定悬浮的问题
  14. devise的使用的中文教程
  15. MYSQL锁机制---MyISAM表锁
  16. 得到app文稿导出_得到APP使用报告
  17. mscorsvw.exe
  18. Python下载网易云歌曲(版权限制的怎么播放和下载呢?)
  19. 记事本实现浪漫烟花、浪漫爱心、浪漫流星雨
  20. windows核心编程--2、windows的画笔画刷以及一些简单的应用

热门文章

  1. 超级牛人在华为工作十年的感悟
  2. LeetCode.No5——最长回文子串
  3. 关于第一次深度学习项目的总结
  4. 孤单终结者:神棍节十大“脱光”应用
  5. 神棍节献礼之——URAL1111 Squares(几何)
  6. qiankun加载vue子应用报错[import-html-entry]: error occurs while executing normal script
  7. php控制wifi上网时长,腾达路由器家长控制功能怎么控制孩子上网时间
  8. FITS python
  9. html+css 炫彩流光按钮
  10. 微信小程序长列表优化方案