Setup: raspivid -> ffmpeg -> rtmp -> hls [ts / m3u8] -> VideoJS
Das NGINX RTMP HLS-Setup ist sehr unkompliziert, daher werde ich das nicht durchgehen. Ich benutze hls_fragment size von 250ms und hls_playlist von 3s. Sie können gerne meinen NGINX RTMP HLS-Server verwenden. Kopieren Sie einfach und fügen Sie genau das ein, was sich im RTMP-Bereich befindet, ändern Sie jedoch 'stream_name' in etwas Einzigartiges. Ändern Sie auf ähnliche Weise das in VideoJS, damit Sie es auf Ihrer Webseite abspielen können. Ich kann nicht garantieren, dass die 2a-Anwendung für immer existiert, aber ich habe vor, meine Anwendung für eine Weile zu testen.
- Nur Video, A raspivid -n -t 0 -h 480 -w 854 -fps 24 -b 1536000 -o - | ffmpeg -i - -c: v copy -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Vorteile: Einfachste, solide Qualität, keine Pufferung. Nachteile: ~ 10s Latenz
- Nur Video, B raspivid -n -t 0 -h 480 -w 854 -fps 15 -b 1080000 -o - | ffmpeg -i - -c: v copy -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Vorteile: Niedrige Latenzzeit unter 5s. Nicht so gut: Pufferung, Quality
- Video und Audio [USB über Sabrent und billiges 3,5-mm-Mikrofon] raspivid -n -t 0 -h 480 -w 854 -fps 25 -b 2000000 -o - | ffmpeg -thread_queue_size 512 -i - -itsoffset 00: 00: 05.22 -f alsa -ac 1 -i hw: 0,0 -map 0: 0 -map 1: 0 -c: a aac -c: v copy -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Vorteile: Qualität, keine Pufferung, synchronisiertes Audio / Video. Nachteile: Hohe Bitrate [nicht gut für mehrere Geräte mit gleicher Bandbreite], Latenz ~ 12s - 15s
VideoJS:
<!--Note, you should including the following in the HEAD of your HTML file: <link href="http://videojs.github.io/videojs-contrib-hls/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"> --> <div class="container" id="videojs_container"> <section class="starter-template"> <video id=video-js-player width=854 height=480 class="video-js vjs-default-skin" controls autoplay="true" data-setup="{}" preload="auto"> <source src = "http://streaming.sensored.solutions/2a/stream_name/index.m3u8" type = "application/x-mpegURL"> </video> </section> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <script src="http://videojs.github.io/videojs-contrib-hls/node_modules/bootstrap/dist/js/bootstrap.min.js"></script> <script src="http://videojs.github.io/videojs-contrib-hls/js/ie10-viewport-bug-workaround.js"></script> <link href="//vjs.zencdn.net/5.4/video-js.css" rel="stylesheet"> <script src="//vjs.zencdn.net/5.4/video.js"></script> <script src="http://videojs.github.io/videojs-contrib-hls/node_modules/videojs-contrib-hls/dist/videojs.hls.min.js"></script>