Mediacodec编码后的h264视频出现马赛克问题
2024-09-03 07:41:34
问题:在视频采集后,通过Mediacodec编码生成h264视频文件,播放时出现马赛克较多,无论调整帧率、码率、还是分辨率都不能解决问题
出现问题的原因:编码时传入的时间戳不对。时间戳是视频播放的标准,应该以采集一帧画面时的时间为准,而不应该是编码时的时间,所以编码时传入的时间戳可以使用采集该帧数据时的时间。
关于网上用固定步长增加的变量作为时间戳的方式,个人认为不是很准确。
个人认为比较准确的方法就是在获取摄像头采集到的原始数据之后,可以通过long stamptime = System.nanoTime()获取到当前时间戳,然后在编码时将stamptime传入queueInputBuffer(........)中,就可保证编码后的视频没有马赛克。
切忌stamptime在编码时才获取,因为在采集到编码之间,可能需要转换YUV格式(如采集的是YV12格式,编码需要传入的是YUV420sp格式),这会耗时(时间长短可能是变化的),就造成了此时的时间与原始画面的时间间隔存在差异,如果在此时获取stamptime传入queueInputBuffer(........),编码的帧在时间上不连续,形成马赛克
最新文章
- DateUtil工具类
- 解决ADB server didn't ACK问题,连上手机问题
- 深入理解JVM—JVM内存模型
- fackbook的Fresco的Image Pipeline以及自身的缓存机制
- jbpm3.2中jbpm.jpdl.mysql.sql文件运行报错的问题
- c#索引器的简单用法
- (转)Vim用法小结
- 数据结构&;&;算法基础知识
- Linux服务器SNMP常用OID (转)
- Android开发中出现cannot be resolved to a variable错误,也就是R文件不能生成。
- Linux-jdk1.7-tomcat7 简易安装
- CentOS7使用dnf安装mysql
- combinations(组合)
- 【视频】设计模式(C++)视频讲解
- 生成3位的序列号_仅仅CASE WHEN的简单应用
- IDEA将项目上传至码云/GitHub托管
- ABAP 中的搜索帮助
- 【Python】【辅助程序】练手小程序:记录外网动态IP地址
- Magento2与Magento1的区别有哪些
- sql help cs
热门文章
- [BZOJ1163&;1339]Mafia
- 清北学堂模拟赛d1t2 火柴棒 (stick)
- P1656 炸铁路 洛谷
- Ubuntu 16.04安装Insight实现汇编的调试
- Android: MediaRecorder start failed
- 3.1-HDLC/PPP
- objc_setAssociatedObject 1
- Codeforces Round #311 (Div. 2)A Ilya and Diplomas
- 360p以上
- LeetCode241——Different Ways to Add Parentheses