日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上)

發布時間:2024/4/11 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SRS(Simple-RTMP-Server)定位是運營級的互聯網直播服務器集群,追求更好的概念完整性和最簡單實現的代碼,在Github上人氣頗高。本文是由王學投稿的SRS搭建直播的學習筆記,由LiveVideoStack整理并首發。


文 / 王學

整理 / LiveVideoStack


文章共6個部分,涉及SRS采集 、編碼、錄制、傳輸、解碼等整套解決方案。


  • 下載和編譯SRS

  • 利用OBS推流RTMP到SRS

  • 從RTSP鏡頭拉取流到SRS

  • SRS demo 運行

  • SRS流程簡單分析

  • SRS支持將RTMP流錄制成flv文件


一、下載和編譯SRS


官方地址:https://github.com/ossrs/srs


tar -zxvf srs-2.0-r2.tar.gz?

cd srs-2.0-r2

./configure --with-ssl --with-hls --with-nginx --with-ingest --with-ffmpeg --with-transcode –demo

make


注意:官方說需要關閉防火墻和selinux


二、利用OBS推流和用VLC播放


1、推流地址:rtmp://192.168.43.118:1935/live/livestream



確定后,開始推流。由于設置了HLS分發,所以在Nginx目錄下(./objs/nginx/html/live)會有m3u8/ts。ts文件的長度和個數是根據配置文件的hls_fragment和hls_window屬性配置出來,詳細請參看:https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS


2、使用默認的配置文件hls.conf


listen ? ? ? ? ? ? ?1935;

max_connections ? ? 1000;

vhost __defaultVhost__ {

hls {

? ? ? ? enabled ? ? ? ? on;

hls_path ?./objs/nginx/html;

hls_fragment ? ?10;

hls_window ? ? ?60;

? ? }

}


hls配置節(hls分發)


  • enabled:是否開啟HLS

  • hls_fragment:指定ts切片的最小長度(單位:秒)

  • hls_window:指定HLS大小,即m3u8中ts文件的時長之和,超過總時長后,丟棄第一個m3u8中的第一個切片,直到ts的總時長在這個配置項范圍之內。即SRS保證下面的公式:hls_window>= sum(m3u8中每個ts的時長)


詳細說明:https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS


#啟動分發hls(m3u8/ts)的nginx

./objs/nginx/sbin/nginx


#啟動srs服務

./objs/srs -c ./conf/hls.conf


3、用VLC來播放HLS或RTMP



RTMP播放地址:rtmp://192.168.43.118:1935/live/livestream

HLS播放地址:http://192.168.43.118/live/livestream.m3u8


三、從RTSP鏡頭拉取流到SRS


手機作為RTSP攝像頭,安裝EasyIPCamera。感謝EasyDarwin提供這個好用的工具。

rtsp://192.168.43.49:8554/201708


#啟動srs服務

./objs/srs -c ./conf/ingest.conf


1、使用默認的配置文件ingest.conf


# use ffmpeg to ingest file/stream/device to SRS

# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleIngest

# @see full.conf for detail config.


listen ? ? ? ? ? ? ?1935;

max_connections ? ? 1000;

daemon ? ? ? ? ? ? ?off;

srs_log_tank ? ? ? ?console;

vhost __defaultVhost__ {

? ? ingest livestream {

? ? ? ? enabled ? ? ?on;

? ? ? ? input {

? ? ? ? ? ? type ? ?stream;

? ? ? ? ? ? url ? ? rtsp://192.168.43.49:8554/201708;

? ? ? ? }

? ? ? ? ffmpeg ? ? ?./objs/ffmpeg/bin/ffmpeg;

? ? ? ? engine {

? ? ? ? ? ? enabled ? ? ? ? ?off;

? ? ? ? ? ? output ? ? ? ? ?rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream2;

? ? ? ? }

? ? }

}


2、 用VLC來播放RTMP



四、SRS demo 運行


啟動srs 服務器 ./scripts/run.sh?

啟動SRS轉發服務器成功

停止srs 服務器 ./scripts/stop.sh


訪問http://192.168.43.118:8085



五、SRS流程分析

?


六、SRS支持將RTMP流錄制成flv文件


待續。有興趣你也可一試,走進流媒體領域。加油!


關于作者


王學,目前就職于東方網力,早期進入北海通信,對音視頻領域的研發產生了極大的興趣,在嵌入式板子上研究ffplay(當時FFmpeg還是0.9.x版本)。后進入安防領域,從事安防平臺服務器端Linux C++開發工作,也喜歡研究服務器端高并發、高可靠性的實現。



LiveVideoStack招募社區編輯


LiveVideoStack是專注在音視頻、多媒體開發的技術社區,通過傳播最新技術探索與應用實踐,幫助技術人員成長,解決企業應用場景中的技術難題。如果你有意為音視頻、多媒體開發領域發展做出貢獻,歡迎成為LiveVideoStack社區編輯的一員。你可以翻譯、投稿、采訪、提供內容線索等。


通過contribute@livevideostack.com聯系,或在LiveVideoStack公眾號回復『社區編輯』了解詳情。

總結

以上是生活随笔為你收集整理的利用Simple-RTMP-Server搭建RTMP和HLS直播服务(上)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。