ffmpeg h264 视频编码 模糊问题、MP4播放速度快问题
本文使用 ffmpeg(4.0版本)的dll、lib、include进行视频编码。相关基本知识可参考以下博客:
https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/68496213
- 编码生成的视频模糊、清晰度特别差。
原因是:未对编码器的上下文信息的码率进行显示设置,或设置的过低,(默认的值太小不满足)
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播放速度快问题相关推荐
- Linux系统安装ffmpeg + h264视频编码
通过我这篇文章安装的小伙伴可能会遇到h264编码转换失败的问题,本篇文章将完美解决这个问题. 此篇文章方法也适合未安装ffmpeg的系统,忽略第一步即可. 1.首先,进入你安装的ffmpeg文件夹下, ...
- mp4v2再学习 -- H264视频编码成MP4文件
一.H264视频编码成MP4文件 参看:H264视频编码成MP4文件 参看:mp4v2在VS2010下的编译与在项目中的使用 最近做项目需要将H264文件封装为mp4文件,从网上找到了MP4V2库,下 ...
- H264视频编码成MP4文件
http://blog.csdn.net/firehood_/article/details/8813587 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近需要将H264视频编码成MP4格 ...
- 视频教程-FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-C/C++
FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK 夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟 ...
- FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-夏曹俊-专题视频课程...
FFmpeg音视频编码实战屏幕录像机视频课程-基于QT5和FFMpegSDK-3798人已学习 课程介绍 本课程讲解的是基于流行的直播技术 FFMpeg3.3音视频处理框架,和应用广的 ...
- linux deepin使用FFmpeg处理视频格式、尺寸、播放速度
背景 deepin下的视频处理.剪辑软件可选择的比较少,没有Window下常用的PR.AE.格式工厂等,达芬奇由于依赖的问题不是很好安装.我们可以充分利用deepin系统自带的FFmpeg,完成常用的 ...
- 基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt)
基于 FFMPEG 的视频编码 源码(libavcodec,C++ Qt) 昨晚把源代码好好整理了一下,加入了视频时间限制功能.源码放这里,大家随便用. 关于代码的解释可以看我另一篇博客: 基于 FF ...
- 基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅)
基于 FFMPEG 的视频编码(libavcodec ,致敬雷霄骅) 本文参考了雷博士的博客: 最简单的基于FFmpeg的视频编码器-更新版(YUV编码为HEVC(H.265)) 还参考了另一篇博客: ...
- 使用ffmpeg将视频转为hls格式并播放
转换并播放视频文件 使用ffmpeg进行视频拆分 [为什要进行拆分] 如果直接将MP4文件放放到网站目录当中,必须下载整个视频才可以播放,解决办法是将视频分成一小片来传输,比如将MP4转码为M3U8格 ...
- ffmpeg将视频flv格式转为mp4格式
前言 最近使用bilibili哔哩哔哩下载助手下载B站的视频时,发现下载的视频的格式都是.flv,因此想利用网络上的在线转换工具将flv转为mp4格式,无奈转换后的mp4视频,下载速度感人,于是使用f ...
最新文章
- 2019.03.13 ZJOI2019模拟赛 解题报告
- zookeeper源码分析之四服务端(单机)处理请求流程
- 在图形中使用指定字体
- 10月碎碎念--谈如何做选择
- linux 查看进程
- 【评论】GNU/Linux下有多少是GNU的?
- labelme实例分割_GitHub:图像分割最全资料集锦
- Git笔记(17) 协议
- python基础教程慕课_Python基础教程(6)--抽象
- Portal widget 插入 widget
- install cuda on ubuntu
- linux 查看防火墙对应的进程,Linux系统防火墙进程查看的实用方法
- 解决Layui表格需表头固定悬浮的问题
- devise的使用的中文教程
- MYSQL锁机制---MyISAM表锁
- 得到app文稿导出_得到APP使用报告
- mscorsvw.exe
- Python下载网易云歌曲(版权限制的怎么播放和下载呢?)
- 记事本实现浪漫烟花、浪漫爱心、浪漫流星雨
- windows核心编程--2、windows的画笔画刷以及一些简单的应用
热门文章
- 超级牛人在华为工作十年的感悟
- LeetCode.No5——最长回文子串
- 关于第一次深度学习项目的总结
- 孤单终结者:神棍节十大“脱光”应用
- 神棍节献礼之——URAL1111 Squares(几何)
- qiankun加载vue子应用报错[import-html-entry]: error occurs while executing normal script
- php控制wifi上网时长,腾达路由器家长控制功能怎么控制孩子上网时间
- FITS python
- html+css 炫彩流光按钮
- 微信小程序长列表优化方案