文章目录

  • 首先推荐几本必参考的书
  • 视频播放器原理
  • 博客
  • 我的博客
  • 欢迎联系、指正、批评

首先推荐几本必参考的书

《FFmpeg从入门到精通》,命令行居多
《FFmpeg基础库编程开发》,各种标准发展历史及原理居多
《音视频开发进阶指南基于Android与iOS平台的实践》

视频播放器原理

此处摘抄部分为CSDN博主「雷霄骅」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/leixiaohua1020/article/details/18893769

视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术。如果考虑到网络传输的话,还包括流媒体协议技术。

视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果播放本地文件则不需要解协议,为以下几个步骤:解封装,解码视音频,视音频同步。他们的过程如图所示。

解协议的作用

就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。例如,采用RTMP协议传输的数据,经过解协议操作后,输出FLV格式的数据。

解封装的作用

就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。

解码的作用

就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。

视音频同步的作用

就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。

博客

首推雷神https://blog.csdn.net/leixiaohua1020/article/details/15811977

我的博客

ffmpeg入门教程之Windows开发环境搭建
https://blog.csdn.net/confusing_awakening/article/details/101946499

ffmpeg入门教程之封装格式转换(无编解码)API详解:
https://blog.csdn.net/confusing_awakening/article/details/101903120

ffmpeg入门教程之YUV编码成h264 API详解:
https://blog.csdn.net/confusing_awakening/article/details/102834321

ffmpeg入门教程之linux编译so 从下载坚持到成功(血泪史):
https://blog.csdn.net/confusing_awakening/article/details/102984451

ffmpeg入门教程之Android使用FFmpeg so(API封装格式转换):
https://blog.csdn.net/confusing_awakening/article/details/103034542

ffmpeg入门教程之ffmpeg命令行手册------全局命令(翻译):
https://blog.csdn.net/confusing_awakening/article/details/103187958

ffmpeg入门教程之ffmpeg命令行手册------视频滤镜(翻译):
https://blog.csdn.net/confusing_awakening/article/details/103187168

ffmpeg入门教程之ffmpeg命令行实战------视频滤镜:
https://blog.csdn.net/confusing_awakening/article/details/103250490

ffmpeg入门教程之ffmpeg命令行实战------音频滤镜:
https://blog.csdn.net/confusing_awakening/article/details/103350546

欢迎联系、指正、批评

Github:https://github.com/AnJiaoDe

CSDN:https://blog.csdn.net/confusing_awakening

OpenCV入门教程:https://blog.csdn.net/confusing_awakening/article/details/113372425

ffmpeg入门教程:https://blog.csdn.net/confusing_awakening/article/details/102007792

微信公众号

QQ群

ffmpeg入门教程相关推荐

  1. Android NDK入门教程之快速定位Crash问题

    文章目录 首先制造一个 so crash问题 addr2line addr2line工具位置 addr2line命令如下: 分析crash log so strip 欢迎联系.指正.批评 首先制造一个 ...

  2. OpenCV入门教程之开发环境搭建(Android、C/C++、Python)

    文章目录 opencv Android搭建OpenCV开发环境 自己写C/C++调用OpenCV实现 小编已经在gayhub开源了一个轮子,可直接使用:一个最简单.免搭建的Android OpenCV ...

  3. ffmpeg入门教程之ffmpeg命令行------全局命令

    ffmpeg入门教程https://www.jianshu.com/p/042c7847bd8a 视频播放器原理 视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术.如果考虑到 ...

  4. FFmpeg 视频处理入门教程(转)

    FFmpeg 视频处理入门教程(阮一峰) FFmpeg 是视频处理最常用的开源软件. 它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式 ...

  5. FFmpeg视频处理入门教程(新手必看)

    本文主要介绍了FFmpeg视频处理入门教程,它功能强大,用途广泛,是许多音频和视频格式的标准编码/解码实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 FFmpeg 是视频处理最常用的开源软件. ...

  6. 资深程序员的Metal入门教程总结

    1.Metal Metal 是一个和 OpenGL ES 类似的面向底层的图形编程接口,可以直接操作GPU:支持iOS和OS X,提供图形渲染和通用计算能力.(不支持模拟器) 图片来源 https:/ ...

  7. FFmpeg入门详解之104:Win10快速安装OpenSSL(不用编译源码)

    win10x64安装OpenSSL:不用编译源码 网上一堆的教程教你去下载opensll源代码并用vs进行编译,虽然我有安装vs2015,但是看到那么长的编译步骤,太心累了. 懒人只得找简单的方法,最 ...

  8. Kafka入门教程与详解

    1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...

  9. 【CV】Pytorch一小时入门教程-代码详解

    目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...

最新文章

  1. YourEclipse—不只是Eclipse开发者社区
  2. 使用maven下载依赖包及maven常见问题汇总
  3. cocos2dx andoroid切换后台后资源重载
  4. Matlab:成功解决The option is not valid. The options must be'double','native','default','omitnan', or'inc
  5. RE:大家说说开发的时候类名和文件名一般是怎么规范的?
  6. java http服务端例子_简单的用 Java Socket 编写的 HTTP 服务器应用
  7. scala学习笔记-Map与Tuple(10)
  8. 高等数学下-赵立军-北京大学出版社-题解-练习12.2
  9. 关于二分类的评价指标体系
  10. CCF202109-1 数组推导
  11. lecture 5:Policy Optimization 1
  12. Docker 基础 ( 二十 ) 部署Redis集群,问题记录
  13. IOS之未解问题--给UITableView提取UITableViewDataSource并封装瘦身失败
  14. linux 脚本加密工具下载,linux truecrypt 加密工具
  15. 银行业务总揽之-银行对公业务
  16. HP JetDirect 170X 配置
  17. 超炫酷html+css+javascript实现登录模板
  18. 后端好书阅读与推荐(续四)
  19. 华为云冰山安全,让用户安心用云
  20. 马斯克76岁父亲与继女生子,华强北又出一个芯片IPO,原蚂蚁副总投身AI制药,今日更多大新闻在此...

热门文章

  1. 2016 China CADCG 参会总结 -- day2
  2. html默认打开方式怎么取消,怎么取消默认打开QQ浏览器
  3. 基于 SpringBoot 开源的小说和漫画在线阅读网站
  4. 青龙羊毛之咔咔(长毛)
  5. 用计算机绘制函数图象公开课,19.2.2一次函数的图象和性质(公开课)PPT
  6. maven设置打包文件的名称
  7. 常驻通知栏去除声音或震动
  8. 理财知识心得记录-1
  9. 【分享】逆回购浅谈(代替圆球mm发)
  10. 4-4 jitsi meet sdk android 编译总结