全网首发:FFMpeg使用NVIDIA DECODER,解码后的数据转换为YUV420P
参考:
https://blog.csdn.net/quantum7/article/details/107119487
我们日常所用格式虽然是RGB,视频喜欢YUV420。如上文所述,解码后的数据是NV12,如何转换为YUV420P?
- 自己写代码进行转换。这个也不难,咱也做过类似的转换。
- 调用已有函数。
这个已有的函数在哪里?这可没有人说啊。怎么办?想起之前使用过ffplay,看看这个代码如何处理的。
- 先找到解码函数,即得到的AVFrame。输出一看,是NV12,确定不是YUV420P。
- 找到刷屏的地方,使用的就是是YUV420P。
- 跟踪整个过程,确实看到某个地方,转变为YUV420P。具体处理代码是:
//1280,1280,0ret = av_buffersrc_add_frame( filt_in, picture);
//0, 0, 0ret = av_buffersink_get_frame_flags(filt_out, picture, 0);
//1280, 640, 640
这两个函数好说,这两个filter是什么?怎么初始化的?能不能精简为简单参数?把代码复制到吾测试代码中,一通删除修改,编译通过。加上输出,果然成功获得YUV420P。
有朋友问,性能怎样?在640x360情况下,去掉、增加转换,没看出什么变化。可能是分辨率不够?解码路数太少?
能不能直出YUV420P,或者输出时能直接用?各位如果找到了更好办法,可通知一声。
开源库:
https://github.com/quantum6/ffmpeg-nvidia-codec
全网首发:FFMpeg使用NVIDIA DECODER,解码后的数据转换为YUV420P相关推荐
- MediaCodec解码AAC音频,用AudioTrack播放解码后的数据
前言: 这里是做实时流AAC Audio解码,音频存储形式是byte[]保存的字节流. 1.AudioTrack的初始化 private AudioTrack mAudioTrack = null; ...
- 全网首发:FreeSwitch硬解失败后切换到软解
给FreeSwitch集成了NV硬解.前几天突然报告说,登录A服务器,转发会议命令到B服务器后,一直没画面.跟踪了一下,是硬解一直失败.怎么办?先切换到软解,有时间再研究怎么回事. 正常来说,开始的时 ...
- 【Android FFMPEG 开发】FFMPEG 解码 AVPacket 数据到 AVFrame ( AVPacket-解码器 | 初始化 AVFrame | 解码为 AVFrame 数据 )
文章目录 I . FFMPEG 解码 AVPacket 数据到 AVFrame 前置操作 II . FFMPEG 解码 AVPacket 数据到 AVFrame 流程 III . FFMPEG 发送 ...
- 基于 FFMPEG 的音频编解码(二):音频解码
音频解码 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译 基于 FFMPEG 的音频编解码(二):音频解码 基于 FFMPEG 的音频编解码(三):音频编码 在 Hell ...
- [总结]FFMPEG视音频编解码零基础学习方法--转
ffmpeg编解码学习 目录(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ff ...
- FFMPEG视音频编解码零基础学习方法
总结]FFMPEG视音频编解码零基础学习方法 在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的"大神",有的是刚 ...
- 音视频开发(5)---FFMPEG视音频编解码零基础学习方法
FFMPEG视音频编解码零基础学习方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/leixiaohua1020/article/details/ ...
- [总结]FFMPEG视音频编解码零基础学习方法
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的"大神",有的是刚开始学习的初学者.在和大家探讨的过程中,我忽然 ...
- 【FFmpeg杂记】音频解码输出PCM格式数据分析
FFmpeg音频解码后输出的为PCM数据,PCM中的声音数据没有被压缩. FFmpeg中音视频数据基本上都有Packed和Planar两种存储方式,对于双声道音频来说,Packed方式为两个声 ...
- FFmpeg进行音频的解码和播放
音频编码 音频数字化主要有压缩与非压缩(pcm)两种方式. 非压缩编码(PCM)PCM音频编码 PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 当采样频率fs.max大于信号中 ...
最新文章
- 【java】各种方法的使用(不定期更新)
- Linux设置qt-android开发环境
- BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析...
- 最长上升子序列(LIS)算法
- MySQL千万级数据JDBC插入
- 2018秋寒假作业5—PTA编程总结2
- ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区
- mysql复制状态是什么意思_mysql8 参考手册--复制从SQL线程状态
- JAVA分布式篇2——Zookeeper
- Android内存泄漏分析及调试
- 《哪吒》票房超《复联4》 位列中国电影票房总榜第三
- iQOO 5G版8月上市,价格更加亲民!
- C语言为四维数组申请动态内存空间的方法(一)
- STM32 资料整理贴
- WINXP内PING一个IP地址时电脑会发出很响的一声“滴”声
- 《Oracle高性能SQL引擎剖析:SQL优化与调优机制详解》一第2章 解读执行计划
- python:实现杨辉三角
- 编写程序,提示用户输入一个数并显示该数,使用字符模拟7段显示器的效果:Enter a number:491-9014
- k8s(四)—service服务(暴露方式:ClusterIP、NodePort、LoadBalancer、ExternalName、ingress)
- 在ROS中使用中文语音交互(百度语音baidu_speech)
热门文章
- html限制显示字数其余用...代替,html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替...
- java确定同一用户登录_java保持同一时间同一账号只能在一处登录
- php连接mysql配置环境变量_Win7 64位操作系统下配置PHP+MySql+Apache环境(转)
- python基础教程 pdf github_GitHub - looly/python-basic: 老齐(qiwsir)的Python基础教程Gitbook版...
- java substring 实例_JAVA中截取字符串substring用法
- python和c都是什么类型语言-常见的几种语言C,C#,JAVA,Python的运行原理
- linux 使用apidoc 生成Restful web Api文档
- jquery 添加扩展方法及为选择的对象添加方法
- tp3.2 分析打印查询语句sql
- mysql多条件批量查询,且数据量大分批查询