本文转载自Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目,截取其中技术概念比较相关的部分,并做了重新的排版。

视频和直播的准备:

  • android-java层:camera相关(视频)、AudioRecord(音频)相关、MediaCodec相关(音视频编码)
  • android-native层(c++):h264、h265等编码库的调用;各种音频编码库的使用(aac、amr、mp3、g711等);容器封装技术(音视频封装ts、ps等);媒体协议(hls、rtsp、rtmp等)
  • socket编程;android-ndk编译so技术;jni技术

难点:

大概就这么多,如果细说还有许多细节,比如音视频同步,传输过程中的QOS等等问题。
android系统版本太多,直接用android 系统接口的话,会有很多坑,例如mediacodec有的支持编码264,有的不支持,所以要配合第三方库一起使用,如果只是单纯的会java,那么android直播这里是玩不转的。

主流的视频和音频的解码

  • vitamio:美拍
    Vitamio这个是功能很强大,但是企业收费版的,个人用户免费。
    流媒体支持
    Vitamio支持各种常见的流媒体协议,可以点播或者直播音频和视频,Vitamio使用了 FFmpeg 做为媒体解析器和最主要的解码器,同时开发了针对不同移动平台的硬解码方案,能够完美支持 H.264/AVC、H.263、MPEG4 等常见的视频编码,覆盖上百种多媒体格式。
    MMS
    RTSP (RTP,SDP),RTMP
    HTTP progressive streaming
    HLS - HTTP live streaming (M3U8)
    知名使用者:新浪微博(安卓客户端),搜狐视频(安卓客户端),风行网(安卓客户端),歌华有线,熊猫影音(91网龙),视讯中国(央视),法国航空。

  • ffmpeg:主流
    ffmpeg是一个非常强大的音视频编解码开源库,目前市场上流行的播放器,大部分都是基于此开发的,包括暴风,腾讯,等等以及上面提到的vitamio,vlc,ijkplayer。

  • ijkplayer:斗鱼,网易音乐,哔哩哔哩的ijkplayer

  • vlc:YY

  • webRTC:网页端的
    目前WebRtc只适合小范围(8人以内)音视频会议,不适合做直播。

节选—Android 视频直播 ( 从快播到直播,从高清到无码 )十年视频开发项目相关推荐

  1. ffmpeg如何进行高清图片转码,截取视频

    默认命令 ffmpeg -i [video] -f image2 output_%d.jpg 但是转码出来的图片像素不高 可以使用qscale命令,说明如下: Use -qscale:v Use -q ...

  2. 4K、高清、无水印视频素材库

    推荐5个可以免费下载视频素材的网站,建议收起来! 1.菜鸟图库 视频素材下载_mp4视频大全 - 菜鸟图库 菜鸟图库主要提供设计素材为主,自媒体等相关素材也很多,像商用图片.背景图.视频素材.音频素材 ...

  3. 8个免费、高清、无版权视频素材下载网站推荐

    现如今,短视频行业可谓是风生水起,越来越多的人加入了视频剪辑,最令人头疼的就是视频素材不知道从哪里来.今天小编就给大家整合了8个免费.高清.无版权视频素材下载网站,让大家视频编辑更快捷更方便! 一.D ...

  4. 分享5个免费、高清、无版权视频素材网站,果断收藏!

    现在各种短视频和自媒体是越来越火了,创作者们对于自己作品的版权也愈发重视,稍不留神你的视频可能就侵权了.例如使用​​未经授权的视频素材,都是会涉及到侵权的. 其实现在有很多无版权的视频素材网站,可以满 ...

  5. android 手机支持什么格式的视频格式,手机高清小普及:手机支持那些视频格式?...

    背景 虽然在2010年众多的手机厂商都推出了他们的高清手机,可是由于手机的硬件以及操作系统的限制,因此并不是所有的高清格式都能够在目前市面上那些支持高清播放的手机中播放.那么如果大家想要在手机上欣赏高 ...

  6. android怎么监听多点触摸_110寸高清触摸一体机

    110寸高清触摸一体机也是叫110寸会议平板,110寸高清触控一体机,110寸教学培训触控一体机,110寸展厅触摸一体机,110寸高清交互会议机,110寸展示查询触摸一体机,110寸移动壁挂触控显示屏 ...

  7. 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码

    内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...

  8. 安卓客户端开发!如何试出一个Android开发者真正的水平?分享PDF高清版

    程序员与别的专业有所不同,其他专业都是越老越香,而程序员却是一个例外,因为计算机技术更新太快,而且工作强度很大,因此大部分程序员只会写 3 年代码.3 年后要不晋升做项目经理,要么转行,个别研究所除外 ...

  9. 1920+1080+android三星手机,三星S4国行发布 1080P高清大屏手机激斗

    []三星GALAXY S4无疑是不少人期待入手的对象,包括零售价格和上市时间等信息自然更是备受关注.日前,三星GALAXY S4行货于4月17日在上海正式发布,并将在4月27日率先登陆国内五大城市上市 ...

最新文章

  1. Flutter UI自动化测试技术方案选型与探索
  2. SpringBoot+Mybatis 实现动态数据源切换方案
  3. python的闭包函数
  4. 两个整数百分百C语言,2011年9月份计算机二级C语言上机题库(百分百准确),,,[1]
  5. android sudio jni 调用so_UE4:UPL 与 JNI 调用的最佳实践
  6. git常用操作,切换分支,合并分支
  7. 网页游戏怎么修改数据_2014一周网页游戏数据报告(8.18—8.24)
  8. 15 使用计算机应遵守行业道德规范,初中信息技术会考试题 -
  9. Linux(centos)增加账户内存(Resource temporarily unavailable问题)
  10. web.py mysql_webpy连接mysql出现问题
  11. 螃蟹保存方法保存时间_活螃蟹如何保存才能活得时间久(这几个方法简单实用)...
  12. poj 1001 Exponentiation(java)
  13. 今年应届的我面试37次,在16个offer上岸后总结了一些面试心得
  14. 单片机led灯闪烁实验总结_51单片机实现LED流水灯
  15. IBM发展了用于混合云控制的自动化和数据功能
  16. 电子驻车系统(卡钳式)
  17. 影视网站设计报告代码MySQL_基于PHP的视频网站的设计与实现(MySQL)(含录像)
  18. 1997年苹果公司《think different》广告台词中英文版本
  19. Android SDK包功能介绍,中文开发API
  20. 计算机专科升研究生英语看什么书,2021考研必知:计算机备考八大禁忌_考研英语黄皮书...

热门文章

  1. python安装scrapy_Python安装Scrapy的种种
  2. 算法入门篇六 二叉树
  3. S​D​I​与​A​S​I 接口详解介绍
  4. mybatis3 中 @Provider 的使用方式
  5. MySql查询系统时间,SQLServer查询系统时间,Oracle查询系统时间
  6. IPv6 解说 ,与IPv4的同异
  7. 狗窝里的小日子- 6 ...
  8. 狗窝里的小日子- 2 ...
  9. 解决 : org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  10. 事务相关、不可重复读与幻读的区别