最近对音视频开发比较感兴趣,想做一个手机直播的Demo程序,大概功能是:手机摄像头采集视频,用FFmpeg编码、RTMP推流到流媒体服务器,另外一个手机可以拉流看到直播视频。看了很多资料,包括雷神的博客,在实际动手之前,先总结一下自己计划的学习路线。

一、FFmpeg学习
1.命令行方式,结合X264,对一个YUV数据编码,并用RTMP推送到服务器;
2.调用API接口编程方式,实现上述功能;
3.读取本地视频文件,解封装,推流;

二、流媒体服务器搭建
在Linux上用Nginx搭建一个服务器,支持RTMP服务;

三、Android客户端开发
1.APP开发,环境搭建,UI界面简陋一点也可以;
2.Camera相关的编程,获取摄像头数据;
3.FFmpeg移植到Android端;
4.NDK(JNI)方式调用之前编码、推流代码;

四、客户端拉流
1.先用VLC验证一下前面工作的完成情况;
2.Android端APP拉流,预览功能开发。

整个链路涉及的领域较多,不知道能做到什么程度,哈哈。先立一个Flag,争取年底完成。

Android+FFmpeg音视频学习笔记相关推荐

  1. Android FFmpeg 音视频开发教程

    LearnFFmpeg 项目地址:githubhaohao/LearnFFmpeg 简介: Android FFmpeg 音视频开发教程 更多:作者   提 Bug 标签: An Android FF ...

  2. 音视频学习笔记1--音视频基础知识(1)

    音视频基础知识 1 音视频开发是什么? 2 音视频数据处理流程 2.1 音视频数据采集 2.2 封装与解封装 2.3 音视频输出 2.4 音视频同步 3 视频中的基础概念 3.1 视频码率 3.2 视 ...

  3. 基于FFmpeg4.1的视频播放器的极简实现(音视频学习笔记四)

    前言 这篇文章记录一个简单视频播放器的开发过程,代码极其为简洁,基于ffmpeg最新版本4.1实现的.视频渲染用的SDL2.0,SDL视频渲染部分代码直接copy的雷神的最简单的基于FFMPEG+SD ...

  4. N32905音视频学习笔记-录音和播放

    陈生 微信:chenzhe_yj 提供开源硬件产品.嵌入式软硬件开发.技术咨询 淘宝店:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-1 ...

  5. 音视频学习笔记(雷神)—技术解析

    音视频技术解析 封装技术+视频压缩编解码+音频压缩编解码 这是技术层 流媒体传输协议 这是网络层 视频播放器解析 解协议 从视频播放器的角度做解析,拿到传输而来的视频数据后,首先要解协议(传输协议) ...

  6. C++实现flv封装格式解析(音视频学习笔记三)

    这篇博文使用C++解析一个flv文件信息,对其中一些重要的信息进行log输出,对flv的数据封装格式信息不清楚的可以去看这篇博文-FLV 封装格式解析,里面详细说明了flv文件的结构信息.这篇博文参考 ...

  7. 音视频封装格式转换器(支持avi格式转换),基于FFmpeg4.1实现(音视频学习笔记二)

    之前参照雷霄骅博士的最简单的基于FFMPEG的封装格式转换器(无编解码)的博客和FFmpeg官网的example,实现一个简单的封装格式转换器.但是后来我发现我想从mp4格式转换成avi格式的时候会报 ...

  8. 音视频学习笔记----3,音视频编码基础学习之-YUV与RGB

    上一篇我们已经安装并简单学习了H.264的一些基础知识,本节开始记录学习YUV与RGB,以作备忘.同样采用自我总结 + 优秀摘录的方式记录. RGB介绍 : RGB色彩模式是工业界的一种颜色标准,是通 ...

  9. NDK学习笔记:FFmpeg音视频同步3(你追我赶,升级ffmpeg/libyuv支持neon)

    NDK学习笔记:FFmpeg音视频同步3 本篇内容说多不多,但如果要说得明明白白的,可能就有点难度了.所以我决定把我的调试过程日志都呈现出来,方便大家理解.继上一篇文末,我们学习到了什么是DTS/PT ...

  10. android音视频工程师,音视频学习 (十三) Android 中通过 FFmpeg 命令对音视频编辑处理(已开源)...

    ## 音视频学习 (十三) Android 中通过 FFmpeg 命令对音视频编辑处理(已开源) ## 视音频编辑器 ## 前言 有时候我们想对音视频进行加工处理,比如视频编辑.添加字幕.裁剪等功能处 ...

最新文章

  1. 用python 脚本控制telnet登录交换机
  2. Linux C编程--进程间通信(IPC)5--System V IPC 机制3--共享内存
  3. java二级考试历年真题6_2018年3月计算机二级考试JAVA试题及答案(六)
  4. python调用c++传递数组
  5. nedata实时监控服务器运行情况
  6. ESP-TOUCH编码规则及解码
  7. 创业互联网公司如何搭建自己的技术架构
  8. 写程序的一些感想和教训
  9. 程序员的日常竟然是这样,真的是又心疼又好笑······
  10. Android开发之最简单的布局点击Tab和Fragment切换源码(特别适合初学者)
  11. mysql 建表时建立索引_mysql 分享建表和索引的几点规范
  12. android Launcher——启动过程详解
  13. 使用 WinSCP 连接到 VCSA 6.5 失败并显示以下错误:收到的 SFTP 数据包过大
  14. sqlserver数据库脱机和分离的区别
  15. python执行源程序的方式是_python源程序执行的方式
  16. 连享会新命令 lxh:随时查看 Stata 资源
  17. android 酷我音乐接口,酷我音乐 各种付费歌曲,音质包括ape、flac无损音乐api接口...
  18. 开源推荐 - CoDo开源一站式DevOps平台
  19. 中银涨停,A股牛市要启动了吗?
  20. 微软 Office 全家桶被 GPT-4 革新:Word 一键变成 PPT,打工人的春天来了!

热门文章

  1. 车牌号识别易语言代码
  2. Keil(MDK) 5 软件安装教程
  3. Keli Linux与网络安全(2)——初探Keli
  4. vue中引入高德地图获取坐标
  5. java 彻底删除文件_如何删除java文件
  6. JAVA发送邮件(163邮箱发送)
  7. 匹配数据库 帆软 查询条件_帆软报表学习笔记①——根据参数查询
  8. AMPL_网络项目问题
  9. MacBook安装Mysql
  10. 基于RV1126平台imx291分析 --- 总结