All Projects → blueberryCoder → Livestream

blueberryCoder / Livestream

一个实现直播的解决方案,视频采用H264编码、音频采用ACC编码、传输采用Rtmp协议

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Livestream

Nginx Http Flv Module
Media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache and VHOST (one IP for multi domain names) are supported now.
Stars: ✭ 2,063 (+548.74%)
Mutual labels:  live, rtmp
Nginx Rtmp Monitoring
real-time monitoring statistics dashboard for nginx rtmp module
Stars: ✭ 224 (-29.56%)
Mutual labels:  live, rtmp
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+5162.26%)
Mutual labels:  live, rtmp
Nodemediaclient Android
NodeMedia RTMP/RTMFP/RTSP/HTTP Play/Publish Client SDK for Android
Stars: ✭ 446 (+40.25%)
Mutual labels:  live, rtmp
ZLMediaKit
WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Stars: ✭ 7,790 (+2349.69%)
Mutual labels:  rtmp, live
Media Server Go Demo
webrtc media server go demo
Stars: ✭ 140 (-55.97%)
Mutual labels:  live, rtmp
Nodemediaclient Ios
NodeMedia RTMP/RTSP/HTTP Play/Publish Client SDK for iOS
Stars: ✭ 221 (-30.5%)
Mutual labels:  live, rtmp
Go Oryx
The go-oryx is SRS++, focus on real-time live streaming load-balancer.
Stars: ✭ 608 (+91.19%)
Mutual labels:  live, rtmp
RtmpPublishKit
rtmp publish kit for android , encode with mediacodec
Stars: ✭ 106 (-66.67%)
Mutual labels:  rtmp, live
Android P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 70 (-77.99%)
Mutual labels:  ijkplayer, live
Instagramlive Php
A PHP script that allows for you to go live on Instagram with any streaming program that supports RTMP!
Stars: ✭ 362 (+13.84%)
Mutual labels:  live, rtmp
LiveHiddenCamera
Live Hidden Camera is a library which record live video and audio from Android device without displaying a preview.
Stars: ✭ 69 (-78.3%)
Mutual labels:  rtmp, live
Ffmpegandroid
android端基于FFmpeg实现音频剪切、拼接、转码、编解码;视频剪切、水印、截图、转码、编解码、转Gif动图;音视频合成与分离,配音;音视频解码、同步与播放;FFmpeg本地推流、H264与RTMP实时推流直播;FFmpeg滤镜:素描、色彩平衡、hue、lut、模糊、九宫格等;歌词解析与显示
Stars: ✭ 2,858 (+798.74%)
Mutual labels:  live, rtmp
Ios P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 31 (-90.25%)
Mutual labels:  ijkplayer, live
janus-gateway-live
RTMP edge speed with janus-gateway
Stars: ✭ 38 (-88.05%)
Mutual labels:  rtmp, live
LFLiveKit-ReplayKit
A ReplayKit Version
Stars: ✭ 46 (-85.53%)
Mutual labels:  rtmp, live
Rewardlayout
仿斗鱼直播送礼物和连击效果动画
Stars: ✭ 286 (-10.06%)
Mutual labels:  live
Androidffmpeg
android 读取摄像头和麦克风,使用rtmp推流
Stars: ✭ 298 (-6.29%)
Mutual labels:  rtmp
Starrtc Web Demo
一对一voip视频聊天,直播连麦,多人视频会议,在线会议web演示:
Stars: ✭ 281 (-11.64%)
Mutual labels:  live
Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (-11.64%)
Mutual labels:  rtmp

流媒体

AndroidPublisher —— Android推送端

功能:

将摄像头和麦克风采集的数据进行h264、AAC编码然后通过rtmp发送到流媒体服务器

使用:
  1. 安装一个Adobe Media Server(或者 red服务器) 和一个Wifi共享大师(或者其他的软件都行,目的是为了让手机访问到本机的服务器),然后用手机连接wifi大师。

  2. 运行项目,将视频推送到本地服务器上(配置项目中的url 为自己电脑上的ip地址以及端口,Adobe Media Server和 red5 在安装时端口默认都是1935)。

  3. 如果安装的Adobe Media Server 观看则打开Adobe Media Server 安装目录下的一个sample输入我们推送的地址,就可以观看了 。

    例如: 我的Adobe Media Server 安装在D盘 Program File文件夹下。那我打开D:\Program Files\Adobe\Adobe Media Server 5\samples\videoPlayer\videoplayer.html

  4. 如果使用red5服务器,他里面有一个oflaDemo项目,将里面的rtmp地址修改成自己的地址也可以播放。例如修改oflaDemo中的index.html播放器部分

    <script type='text/javascript'>
        jwplayer('mediaspace').setup({
        'flashplayer': 'player.swf',
        'file': 'test',
        'streamer': 'rtmp://192.168.155.1:1935/live',
         'controlbar': 'bottom',
        'width': '720',
        'height': '480'
        });
    </script>

这个对应于我们的播放地址为:rtmp://192.168.155.1:1935/live/test,修改完之后打开该网页点击播放按钮就可以播放了。

  1. 也可是使用其他的服务器比如nginx。

AndroidPlayer —— Android播放端

功能

播放流媒体

实现

使用的开源的流媒体框架ijplayer进行播放。

ijplayer地址:https://github.com/Bilibili/ijkplayer

上图

Player

API使用说明

创建 MediaPublisher,其中需要参数Config,用来配置一些基本信息,比如rtmp的地址。

mMediaPublisher = MediaPublisher
                .newInstance(new Config.Builder()
                        .setFps(30) // fps
                        .setMaxWidth(720) //视频的最大宽度
                        .setMinWidth(320) //视频的最小宽度
                        .setUrl("rtmp://192.168.155.1:1935/live/test")//推送的url
                        .build());

调用mMediaPublisher.init()方法进行初始化

mMediaPublisher.init();

初始化采集视频器、采集音频器

mMediaPublisher.initVideoGatherer(this, mSurfaceHolder);
mMediaPublisher.initAudioGatherer();

初始化编码器(该方法包含初始化音频编码器和视频编码器)

//初始化编码器
mMediaPublisher.initEncoders();

开始采集

//开始采集
mMediaPublisher.startGather();

开始编码

mMediaPublisher.startEncoder();

开始推送

mMediaPublisher.starPublish();

更新

4/28/2017

AndroidPublish推动端已经打包并上传jcenter 大家可以在项目中使用如下方式引用:

使用AndroidStudio:

compile 'com.blueberry:rtmplive:0.1.0'

使用eclipse的话,可在rtmplive-sdk目录中找到sdk

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].