音视频的流程:录制、播放、编码解码、上传下载等
仿网易云音乐 安卓版-- https://github.com/aa112901/remusic
Android本地视频播放器开发- http://blog.csdn.NET/jwzhangjie/article/category/953509
android本地视频播放器开发--NDK编译FFmpeg- http://blog.csdn.net/jwzhangjie/article/details/9038111
> 多媒体流的几个环节:采集,编码,推流,转码,分发,拉流,解码和渲染。
推流端的协议有RTMP, WebRTC和基于UDP的私有协议:
1) RTMP是基于TCP的标准协议,CDN网络普遍支持,也能做到相对比较低的延迟。即构科技的互动直播技术在推流端使用RTMP协议,拉流端兼容三种协议:RTMP,HLS和FLV。HLS协议的延迟比较大,在需要进行连麦互动的场景下,不应该使用HLS协议。
2) WebRTC的好处在于用户体验好,不需要安装东西,分享一个链接就可以看。但是它有一个缺点,就是WebRTC是Google推的一项技术,除了Google Chrome和Opera支持WebRTC,其他浏览器大部分不支持WebRTC。换一句话说,40%的浏览器支持WebRTC,剩下60%浏览器不支持,所以适用范围就比较局限。然后,在中国国内,WebRTC在Google Chrome上的表现也大打折扣。最后,因为浏览器没有开放核心的能力,所以在浏览器上运行的协议比较难以做到比较低的延迟。
3) 基于UDP的私有协议十分适合做实时音视频系统,它是面向无连接的,避免了TCP做网络质量控制所需要的开销,能够做到比较低的延迟。但是它也有一个缺点,那就是私有协议的兼容性不好。CDN支持标准的RTMP协议,但是不支持基于UDP的私有协议。为了吸纳UDP的优点,而避免UDP的缺点,即构科技的互动直播技术采用了基于UDP的私有协议作为补充,在有必要的时候用来弥补RTMP协议的不足。比如说,只有在网络环境比较恶劣或者在跨国互通的情况下,才使用基于UDP的私有协议;比如说,只在推流端到媒体服务器这一段才使用基于UDP的私有协议,而从媒体服务器转推流到CDN网络这一段采用RTMP协议,在这两段之间通过把UDP私有协议转换成RTMP协议来进行适配和衔接。这样一来,即构科技的直播方案既拥有超低延迟的优势,又保留了标准协议普遍被CDN网络支持的好处。
哔哩哔哩殷汶杰:合格的多媒体技术工程师有成为全栈架构师的潜质 - http://geek.csdn.Net/news/detail/124824
殷汶杰 视频方案博客 - http://blog.csdn.net/shaqoneal
> 音视频的录制、播放、编码、上传、下载、观看等,视频编解码,音频编解码,线音频播放 音视频同步等,软硬编码解码
IM软件就需要即时通讯技术、视频软件就需要视频编解码技术、游戏就需要引擎技术。
查看源码的工具:sourceinsight , 不了解JNI的一定要学习下,否则只能在Java层搞,太狭隘了。
视频播放Demo -http://blog.csdn.net/itachi85/article/details/7216962 ,http://blog.csdn.net/x605940745/article/details/18302111
音频数据的播放- http://download.csdn.net/detail/geniuseoe2012/4378393
AudioRecord和AudioTrack类是Android获取和播放音频流的重要类,放置在android.media包中。与该包中 的MediaRecorder和MediaPlayer类不同,AudioRecord和AudioTrack类在获取和播放音频数据流时无需通过文件保 存和文件读取,可以动态地直接获取和播放音频流,在实时处理音频数据流时非常有用.
当然,如果用户只想录音后写入文件或从文件中取得音频流进行播放,那么直接使用MediaRecorder和MediaPlayer类是首选方案,因为这 两个类使用非常方便,而且成功率很高。而AudioRecord和AudioTrack类的使用却比较复杂,我们发现很多人都不能成功地使用这两个类,甚 至认为Android的这两个类是不能工作的。
MediaPlayer在底层是基于OpenCore(PacketVideo)的库实现的,为了构建一个MediaPlayer程序,上层还包含了进程间通讯等内容,这种进程间通讯的基础是Android基本库中的Binder机制。但是该类只能对完整的音频文件进行操作,而不能直接对纯PCM音频数据操作。假如我们通过解码得到PCM数据源,又当如何将它们播放?没错,就是用AudioTrack这个类(MediaPlayer内部也是调用该类进行真正的播放音频流操作).
Android深入浅出之Audio 第一部分 AudioTrack分析 - http://www.cnblogs.com/innost/archive/2011/01/09/1931457.html
https://github.com/mabeijianxi/small-video-record
Audio:
AudioManager:这个主要是用来管理Audio系统的
AudioTrack:这个主要是用来播放声音的
AudioRecord:这个主要是用来录音的
百度MP3下载连接: http://219.138.125.22/myweb/mp3/CMP3/JH19.MP3
服务端共开放两个端口,一个udp上行端口用来接收amr音频流,另一个tcp下行端口用来发送amr音频流。服务端实现了组播的功能,即一个人在录音,可以同时让很多人同时听到。
录制音频demo-http://m.blog.csdn.net/article/details?id=51074218 , http://download.csdn.net/detail/u012808234/9482926
android语音录制与播放-http://blog.csdn.net/xu_fu/article/details/12648845
android语音录制可以通过MediaRecorder和AudioRecorder。
MediaRecorder本来是多媒体录制控件,可以同时录制视频和语音,当不指定视频源时就只录制语音;AudioRecorder只能录制语音。
二者录制的区别在于,MediaRecorder固定了语音的编码格式,具体平台支持类型可以在http://developer.android.com/guide/appendix/media-formats.html这里查看,而且使用时指定输出文件,在录制的同时系统将语音数据写入文件。AudioRecorder输出的是pcm,即原始音频数据,使用者需要自己读取这些数据,这样的好处是可以根据需要边录制边对音频数据处理,读取的同时也可以保存到文件进行存储.
> 视频实时上传
Android仿微信录制视频和播放-http://download.csdn.net/download/u010665691/8805731
Android开源视频录制库:LandscapeVideoCamera
Android 实现视频录制播放-http://blog.csdn.net/yilip/article/details/45075541
现在有个场景是录制视频是一直在录的,有个拍照的功能,怎么取到实时预览的那一帧呢?Camera有previewlistener,设置监听器,在onFrame中可以接受到每一帧的数据。
Android 使用FFmpeg实现视频录制和视频播放-http://download.csdn.net/detail/somnus_comm/8691523
vitamio框架开发视频播放需要的全部类库 - http://download.csdn.net/detail/gaoshouxiaodi/8173955
android录制视频实现-http://blog.csdn.net/csdn_blog_lcl/article/details/52673905
Android端对网页内的图片/视频进行探测的一个小应用 源码的开始传 https://github.com/qqliu10u/ResourceDetector
Android仿爱奇艺视频的下载模块所写,简单实现下载原理-http://download.csdn.net/detail/u011495464/9506943
android 在线视频边下边播-http://download.csdn.net/download/lin415005334/8855367
android边缓存边播放mp4-http://blog.csdn.net/c_crazyren/article/details/7184948
Android使用VideoView播放网络视频-http://blog.csdn.net/kepoon/article/details/6772060
Android视频实时采集和播放实例-http://download.csdn.net/download/zy452362635/6034369
android推送实时视频流到darwin流媒体服务器的思路-http://blog.csdn.net/xiaoliouc/article/details/8723246
Android 实时视频采集/编码/传输/解码/播放—方案调研-http://blog.csdn.net/sinat_35845281/article/details/52794344
------------------------------------------------
视频开发 Android
android 视频播放(一)利用android原生的videoview- http://blog.csdn.net/shenxiaolei507/article/details/41046345
android视频播放(二) 利用android原生的MediaPlayer+SurfaceView- http://blog.csdn.net/shenxiaolei507/article/details/41349295
http://stackoverflow.com/questions/25079145/how-to-resolve-error-libx264-not-found
https://github.com/halfninja/android-ffmpeg-x264
https://github.com/dennishucd/FFmpeg4Android
http://download.csdn.net/detail/qandroidj/4137324
android 视频开发(仿美拍,糗百)- http://download.csdn.net/detail/u013895206/8850751
vitamio
webRTC
ffmpeg
vlc
ijkplayer
android音视频点/直播模块开发- http://blog.csdn.net/u011570979/article/details/51205401
------------------------------------------------
Android使用SurfaceView播放视频时横竖屏的调整 - http://blog.chinaunix.net/uid-20771867-id-4171565.html , https://github.com/Chaoba/BlueVideoPlayer
支持横竖屏切换的视频播放器demo(iOS)- http://download.csdn.net/download/yqxh_wang/8950747
android_横竖屏切换demo- http://download.csdn.net/download/agan75/6033923
android 视频播放 点击横竖屏切换 自动旋转横竖屏切换 冲突- http://download.csdn.net/download/liubo080852/8446445
Android网页播放视频(含横竖屏切换)DEMO(实测有效)- http://download.csdn.net/detail/nuobabijie730/9780160
Android实现视频播放的话,有2中方式,第一种是MediaPlayer+surfaceView实现,第二种是直接用VideoView来实现,当然市面上也有一些主流的视频能播放的框架,像Vitamio,ExoPlayer等。
Android三种播放视频的方式- http://blog.csdn.net/itachi85/article/details/7216962
Android 利用发送Intent播放本地视频和网络视频- http://blog.csdn.net/dj0379/article/details/50915770
音视频的流程:录制、播放、编码解码、上传下载等相关推荐
- 微信小程序开发之——录音播放及文件上传下载-理论(1)
一 概述 小程序录制音频相关的API--recorderManager 小程序播放音频相关的API--InnerAudioContext 文件的上传相关API--wx.uploadFile 文件的下载 ...
- 微信小程序开发之——录音播放及文件上传下载-示例(2)
一 概述 开始播放和暂停播放按钮,演示音频的播放和暂停功能 开始播放时,先下载服务器上的文件(1.mp3),然后进行播放 录音.停止.回放按钮,演示录音API的相关功能 上传按钮将录音文件上传到后台h ...
- 计算机毕业设计媒体在线音乐播放器系统上传下载分享mysql
最新计算机专业原创毕业设计参考选题都有源码+数据库是近期作品 你的选题刚好在下面有,有时间看到机会给您发 1 ssm馥郁花艺网站 2 springboot网络办公系统 3 ssm超市智能导购服务系统 ...
- 音视频基础(1)音视频处理流程
文章目录 音视频基础(1)音视频处理流程 1. 概要 2. 音频处理流程 3. 视频处理流程 4. 直播客户端处理流程 5. 音频数据流转 音视频基础(1)音视频处理流程 理解音频处理流程对我们做音视 ...
- 音视频直播流程及常见视频流协议介绍
音视频直播流程介绍 常见视频流协议介绍 HLS HLS是苹果公司实现的基于 HTTP 的流媒体传输协议,全称 HTTP Live Streaming,可支持流媒体的直播和点播,主要应用在 iOS 系统 ...
- 音视频开发(四)——编码音频
基于QT+FFMPEG的音视频开发(四)--编码音频 一.编码一般步骤 二.编码 2.1 创建编码器(本文创建AAC) 2.2 核心编码 三.源码 我的大部分学习都来自雷神,没有基础去雷神博客转转,每 ...
- 为什么我从PR里面导出来的视频,在电脑上可以正常播放,但是上传到天猫、淘宝、抖音、微信等平台后就变的模糊,类似于重影的效果
为什么我从PR里面导出来的视频,在电脑上可以正常播放,但是上传到天猫.淘宝.抖音.微信等平台后就变的模糊,类似于重影的效果.尤其是加速后的视频,比如2倍速度.或倍速度,模糊的会越来越严重. 类似于这样 ...
- iOS视频录制、压缩、上传(整理)
iOS视频录制.压缩.上传(整理) 我们在项目中有时会碰到视频相关的需求,一般的可以分为几种情况: 1. 简单的视频开发,对界面无要求,可直接使用系统UIImagePickerController. ...
- 抖音怎么上传无损画质_抖音上传视频为什么会模糊?如何才能上传高清无损视频?...
抖音上传视频为什么会模糊?如何才能上传高清无损视频? 文章首发"公众号"[四爷课堂],专注分享短视频运营干货,关注可领取100G抖音运营资料,仅限50个名额. 四哥初入抖音的时候, ...
最新文章
- C# 出现System.TypeInitializationException类型初始值设定项引发异常
- python封装举例_Python面向对象封装操作案例详解
- 用python定位手机_使用Python定位android和iphone
- VTK:vtkTupleInterpolator 插值用法实战
- 细说.NET中的多线程 (四 使用锁进行同步)
- 2015年01月30日 - Git五分钟教程
- YCOJ过河卒C++
- 解决Visual Studio 2015创建工程时的“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' failed to install.”错误...
- 垃圾回收相关算法总结
- 【第135期】游戏策划:给@蒙蒙水雾的简历分析
- 4月份的成长月刊(文末有福利)
- iOS开发 - 使用IJKPlayer时,关于需求要边下边播的缓存功能,退回来后播放缓存不再耗流量
- 通过键盘输入(Java语言)
- python语法速成方法_一天快速入门Python语法基础之函数
- CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
- WORD如何设置打印? 三分钟学会WORD打印技巧
- 我是吴恩达:人在美国,刚上知乎,先答个「如何系统学习机器学习」
- fastreport oracle,【FastReport教程】如何使用插件在报表设计器中将连接器添加到Oracle数据库...
- 西门子1200plc轴运动控制程序模板 调用轴控制块做的控制3个伺服
- 侧滑弹性+加载更多ViewPager