h264-live-player-master
所属分类:Java编程
开发工具:Java
文件大小:13526KB
下载次数:6
上传日期:2020-04-20 20:11:50
上 传 者:
大师兄_LZN
说明: 播放视频,使用websocket,java,js,html
(Playing video, using websocket, Java, JS, HTML)
文件列表:
lib\ffmpeg.js (1541, 2020-03-04)
lib\raspivid.js (847, 2020-03-04)
lib\remotetcpfeed.js (540, 2020-03-04)
lib\static.js (951, 2020-03-04)
lib\_server.js (1935, 2020-03-04)
LICENSE (1060, 2020-03-04)
package.json (497, 2020-03-04)
public\index.html (826, 2020-04-20)
public\index_ww.html (1042, 2020-03-04)
samples\admiral.264 (9378028, 2020-03-04)
samples\out.h264 (4218542, 2020-03-04)
server-ffmpeg.js (564, 2020-03-04)
server-rpi.js (526, 2020-03-04)
server-static.js (732, 2020-03-04)
server-tcp.js (651, 2020-03-04)
vendor\.npmignore (45, 2020-03-04)
vendor\AUTHORS (576, 2020-03-04)
vendor\broadway\Decoder.js (290257, 2020-03-04)
vendor\canvas\FilterWebGLCanvas.js (2012, 2020-03-04)
vendor\canvas\Program.js (901, 2020-03-04)
vendor\canvas\Script.js (938, 2020-03-04)
vendor\canvas\Shader.js (1005, 2020-03-04)
vendor\canvas\Texture.js (1786, 2020-03-04)
vendor\canvas\WebGLCanvas.js (7721, 2020-03-04)
vendor\canvas\YUVCanvas.js (1666, 2020-03-04)
vendor\canvas\YUVWebGLCanvas.js (3217, 2020-03-04)
vendor\dist\http-live-player-worker.js (410339, 2020-03-04)
vendor\dist\http-live-player.js (409544, 2020-03-04)
vendor\LICENSE (1519, 2020-03-04)
vendor\package.json (1315, 2020-03-04)
vendor\utils\assert.js (171, 2020-03-04)
vendor\utils\error.js (121, 2020-03-04)
vendor\utils\glUtils.js (2607, 2020-03-04)
vendor\utils\inherit.js (517, 2020-03-04)
vendor\utils\Size.js (400, 2020-03-04)
... ...
# Motivation
This is a very simple h2*** video player (that can run on live stream) for your browser.
You might use this with raspicam raw h2*** stream.
This is a player around [Broadway](https://github.com/mbebenita/Broadway) Decoder, with very simple API.
NAL unit (h2*** frames) are split on the server side, transported using websocket, and sent to the decoded (with frame dropping, if necessary)
[![Version](https://img.shields.io/npm/v/h2***-live-player.svg)](https://www.npmjs.com/package/h2***-live-player)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://opensource.org/licenses/MIT)
# History
* I was targetting a real-time camera video feedback (no audio/surveillance cam) in the browser
* There is no solution for "real time" mp4 video creation / playback (ffmpeg, mp4box.js, mp4parser - _boxing_ _takes_ _time_)
* Media Source Extension is a dead end (mp4 boxing is far too hard to re-create on the client side)
* [Broadway](https://github.com/mbebenita/Broadway) provide the crazy emscripten/asm build of a h2*** decoder accelerated by webGL canvas
* Here is all the glue we need, enjoy ;-)
# Installation/demo
```
git clone git@github.com:131/h2***-live-player.git player
cd player
npm install
node server-rpi.js # run on a rpi for a webcam demo
node server-static.js # for sample video (static) file delivery
node server-tcp.js # for a remote tcp (rpi video feed) sample
node server-ffmpeg # usefull on win32 to debug the live feed (use ffmpeg & your directshow device / webcam)
# browse to http://127.0.0.1:8080/ for a demo player
```
# Recommendations
* Broadway h2*** Decoder can only work with **h2*** baseline profile**
* [**Use a SANE birate**](https://www.dr-lex.be/info-stuff/videocalc.html)
* Browserify FTW
* Once you understand how to integrate the server-side, feel free to use [h2***-live-player](https://www.npmjs.com/package/h2***-live-player) npm package in your client side app (see vendor/)
* Use [uws](https://github.com/uWebSockets/uWebSockets) (instead of ws) as websocket server
# Credits
* [131](mailto:131.js@cloudyks.org)
* [Broadway](https://github.com/mbebenita/Broadway)
* [urbenlegend/WebStreamer](https://github.com/urbenlegend/WebStreamer)
# Keywords / shout box
raspberry, mp4box, h2***, nal, raspivid, mse, media source extension, iso, raspicam, bitrate, realtime, video, mp4, ffmpeg, websocket, ws, socket.io "Let's have a beer and talk in Paris"
近期下载者:
相关文件:
收藏者: