All Projects → chxj1992 → Rtmp Streamer

chxj1992 / Rtmp Streamer

Licence: wtfpl
浏览器RTMP推流SDK (A javascript rtmp streamer library)

Programming Languages

actionscript
884 projects

Projects that are alternatives of or similar to Rtmp Streamer

browserLiveStream
Use webcam, browser and Node to stream live video. From api.video (https://api.video)
Stars: ✭ 141 (-9.62%)
Mutual labels:  streaming, rtmp
Instagramlive Php
A PHP script that allows for you to go live on Instagram with any streaming program that supports RTMP!
Stars: ✭ 362 (+132.05%)
Mutual labels:  streaming, rtmp
wsa
WSA(Websocket Streaming Agent) is a stream server target for mp4/h264 streaming over websocket
Stars: ✭ 35 (-77.56%)
Mutual labels:  streaming, rtmp
tms
tms(toy media server) is a toy media server for myself learning media develop. Just for fun.
Stars: ✭ 29 (-81.41%)
Mutual labels:  streaming, rtmp
Android Rtmp Muxer
Implementation of the RTMP protocol to broadcast video and audio on Android in pure Java
Stars: ✭ 78 (-50%)
Mutual labels:  streaming, rtmp
minirtmp
Mini RTMP
Stars: ✭ 57 (-63.46%)
Mutual labels:  streaming, rtmp
Multistreamer
[discontinued] A webapp for publishing video to multiple streaming services at once.
Stars: ✭ 281 (+80.13%)
Mutual labels:  streaming, rtmp
HaishinKit.kt
Camera and Microphone streaming library via RTMP for Android.
Stars: ✭ 70 (-55.13%)
Mutual labels:  streaming, rtmp
Rtsp Simple Server
ready-to-use RTSP / RTMP server and proxy that allows to read, publish and proxy video and audio streams
Stars: ✭ 882 (+465.38%)
Mutual labels:  streaming, rtmp
Ovenmediaengine
OvenMediaEngine (OME) is a streaming engine for real-time live broadcasting with sub-second latency.
Stars: ✭ 760 (+387.18%)
Mutual labels:  streaming, rtmp
Nginx Rtmp Monitoring
real-time monitoring statistics dashboard for nginx rtmp module
Stars: ✭ 224 (+43.59%)
Mutual labels:  streaming, rtmp
Streaming Room
Streaming room in Node.js, rtmp, hsl, html5 videojs player
Stars: ✭ 106 (-32.05%)
Mutual labels:  streaming, rtmp
Rtsp.player.android
RTSP player for Android / IP camera viewer
Stars: ✭ 199 (+27.56%)
Mutual labels:  streaming, rtmp
Srs
SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT and GB28181.
Stars: ✭ 16,734 (+10626.92%)
Mutual labels:  rtmp, streaming
Haishinkit.swift
Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.
Stars: ✭ 2,237 (+1333.97%)
Mutual labels:  streaming, rtmp
Ffmpeg
Mirror of https://git.ffmpeg.org/ffmpeg.git
Stars: ✭ 27,382 (+17452.56%)
Mutual labels:  streaming, rtmp
Rtmp Rtsp Stream Client Java
Library to stream in rtmp and rtsp for Android. All code in Java
Stars: ✭ 1,338 (+757.69%)
Mutual labels:  streaming, rtmp
Ffplayout Engine
python and ffmpeg based playout
Stars: ✭ 128 (-17.95%)
Mutual labels:  streaming, rtmp
Aerial
Aerial Apple TV screen saver for Windows
Stars: ✭ 1,853 (+1087.82%)
Mutual labels:  streaming
Cloudrig
Stream your applications with Parsec and AWS on the cheap.
Stars: ✭ 151 (-3.21%)
Mutual labels:  streaming

rtmp-streamer npm version

WTFPL

NPM

浏览器中通过内嵌swf推rtmp流的javascript库

Demo

可在任何http容器中加载项目目录来运行demo

http-server:

 $ http-server -p 8888 

PHP build-in web server:

 $ php -S 0.0.0.0:8888 

访问 http://localhost:8888/demo

screenshot

Install

 $ npm install rtmp-streamer

OR

 $ bower install rtmp-streamer

Tutorial

rtmp-streamer 遵循AMD规范,可通过require.js等方式加载, 另外, 请确保在页面中引入了RtmpStreamer.swf, 否则rtmp-streamer将无法正确载入。

<object>
    <embed id="rtmp-streamer" src="../RtmpStreamer.swf" bgcolor="#999999" quality="high"
           width="320" height="240" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"></embed>
</object>
require(["rtmp-streamer"], function (RtmpStreamer) {
  var streamer = new RtmpStreamer(document.getElementById('rtmp-streamer'));
  streamer.publish(url, name);
});

Document

  /**
   * Push video to RTMP stream from local camera.
   *
   * @param url  - The RTMP stream URL
   * @param name - The RTMP stream name
   */
   function publish(url, name);

  /**
   * Pull video from RTMP stream.
   *
   * @param url  - The RTMP stream URL
   * @param name - The RTMP stream name
   */
   function play(url, name);

  /**
   * Disconnect from RTMP stream
   */
   function disconnect();

  /**
   * Set the screen width and height.
   *
   * @param width  - The screen width (pixels). The default value is 320.
   * @param height - The screen height (pixels). The default value is 240.
   */
   function setScreenSize(width, height);

  /**
   * Set the screen position.
   *
   * @param x - The screen horizontal position (pixels). The default value is 0.
   * @param y - The screen vertical position (pixels). The default value is 0.
   */
   function setScreenPosition(x, y);

  /**
   * Set the camera mode.
   *
   * @param width  - The requested capture width (pixels). The default value is 640.
   * @param height - The requested capture height (pixels). The default value is 480.
   * @param fps    - The requested capture frame rate, in frames per second. The default value is 15.
   */
   function setCamMode(width, height, fps);

  /**
   * Set the camera frame interval.
   *
   * @param frameInterval - The number of video frames transmitted in full (called keyframes) instead of being interpolated by the video compression algorithm.
   * The allowed values are 1 through 300.
   * The default value is 15, which means that every 15th frame is a keyframe. A value of 1 means that every frame is a keyframe.
   */
   function setCamFrameInterval(frameInterval);

  /**
   * Set the camera quality.
   *
   * @param bandwidth - Specifies the maximum amount of bandwidth that the current outgoing video feed can use, in bytes per second (bps).
   *    To specify that the video can use as much bandwidth as needed to maintain the value of quality, pass 0 for bandwidth.
   *    The default value is 200000.
   * @param quality   - An integer that specifies the required level of picture quality, as determined by the amount of compression
   *     being applied to each video frame. Acceptable values range from 1 (lowest quality, maximum compression) to 100
   *    (highest quality, no compression). To specify that picture quality can vary as needed to avoid exceeding bandwidth, pass 0 for quality.
   *    The default value is 90.
   */
   function setCamQuality(bandwidth, quality);

  /**
   * Set the microphone quality.
   *
   * @param quality - The encoded speech quality when using the Speex codec. Possible values are from 0 to 10.
   * Higher numbers represent higher quality but require more bandwidth, as shown in the following table.
   * The bit rate values that are listed represent net bit rates and do not include packetization overhead.
   * ------------------------------------------
   * Quality value | Required bit rate (kbps)
   *-------------------------------------------
   *      0        |       3.95
   *      1        |       5.75
   *      2        |       7.75
   *      3        |       9.80
   *      4        |       12.8
   *      5        |       16.8
   *      6        |       20.6
   *      7        |       23.8
   *      8        |       27.8
   *      9        |       34.2
   *      10       |       42.2
   *-------------------------------------------
   * The default value is 9.
   */
   function setMicQuality(quality);

  /**
   * Set the microphone rate.
   *
   * @param rate - The rate at which the microphone is capturing sound, in kHz. Acceptable values are 5, 8, 11, 22, and 44.
   * The default value is 44.
   */
   function setMicRate(rate);

快速搭建一个RTMP服务器?试试Wowza(https://www.wowza.com/free-trial)

Install & Configuration

wowza

采用直播云服务

七牛云为例:

设置参数的方式和用OBS等工具推流时的方式类似, 地址为直播云的空间名, 数据流名称为直播流的名称加鉴权参数:

在七牛的直播云管理后台中预览推流视频:

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].