日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

流媒体视频直播方案

發布時間:2025/7/25 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流媒体视频直播方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流媒體視頻直播方案

背景

在視頻直播領域,有不同的商家提供各種的商業解決方案,包括軟硬件設備,攝像機,編碼器,流媒體服務器等。本文講解如何使用一系列免費工具,打造一套視頻直播方案。

視頻直播方案的組成,可以分為4部分:

1)前端采集編碼設備:提供直播信號源的采集和編碼壓縮功能,并將信號推送到直播流媒體服務器上。?

2)直播流媒體服務器:負責直播流的發布和轉播分發功能。?

3)WEB服務器:實現直播節目在終端上的展現。

4)終端設備:包括PC和移動終端。

本文的操作基于Mac系統,由于使用的是跨平臺的工具,因此前端的數據采集和編碼操作在其他平臺上類似。

編碼和協議?

1)網絡協議:主要有3種?

?? a. RTSP(Real Time Streaming Protocol)是用來控制聲音或影像的多媒體串流協議, 由Real Networks和Netscape共同提出的;?

?? b. RTMP(Real Time Messaging Protocol):實時消息傳送協議是Adobe公司為Flash播放器和服務器之間音頻、視頻和數據傳輸 開發的開放協議;?

?? c. HLS(HTTP Live Streaming):是蘋果公司(Apple Inc.)實現的基于HTTP的流媒體傳輸協議;?

2)視頻編碼: Mpeg4, H264等?

3)音頻編碼: Mp3, AAC等?

4)視頻分辨率: 標清通常指的是640×480(或768×480);高清指的是1280×720;全高清指的是1920×1080;超高清3840×2160?

前端數據采集和編碼:
編碼器有很多選擇,如商業版的envivio, 免費版的ffmpeg. 我們使用ffmpeg(Mac系統上內置)從Mac筆記本攝像頭捕捉視頻,視頻編碼選擇h264, 音頻編碼選擇mp3,且將生成的傳輸流ts發布到服務器。 在mac終端下,執行:?
?./ffmpeg -f avfoundation -i "0" -vcodec libx264 -preset ultrafast -acodec libmp3lame ?-f flv rtmp://192.168.1.100:1935/myapp/stream?
服務器地址:“rtmp://192.168.1.100:1935/myapp/stream”,我們接下來進行搭建。
服務器
流媒體服務器也有諸多選擇,如商業版的Wowza。 我們選擇的是Nginx,它是優秀的免費Web服務器,通過擴展的nginx-rtmp模塊,可以支持流媒體播放和管理。 nginx-rtmp模塊特點是: RTMP/HLS/MPEG-DASH live streaming RTMP Video on demand FLV/MP4, playing from local filesystem or HTTP Stream relay support for distributed streaming: push & pull models Recording streams in multiple FLVs H264/AAC support Online transcoding with FFmpeg HTTP callbacks (publish/play/record/update etc) Running external programs on certain events (exec) HTTP control module for recording audio/video and dropping clients Advanced buffering techniques to keep memory allocations at a minimum level for faster streaming and low memory footprint Proved to work with Wirecast, FMS, Wowza, JWPlayer, FlowPlayer, StrobeMediaPlayback, ffmpeg, avconv, rtmpdump, flvstreamer and many more Statistics in XML/XSL in machine- & human- readable form Linux/FreeBSD/MacOS/Windows 基于它對RTMP協議的良好支持,因此本文以RTMP協議為例,配置服務器環境。 服務器搭建主要步驟:?
?? ??
(1)下載與安裝?
cd /usr/build?
git clone git://github.com/arut/nginx-rtmp-module.git?
wget?http://nginx.org/download/nginx-1.2.4.tar.gz?tar xzf nginx-1.2.4.tar.gz?

cd nginx-1.2.4?
./configure --add-module=/usr/build/nginx-rtmp-module?
make?
make install?

(2)配置實時直播:?
要支持RTMP,需要在nginx.conf (PREFIX/conf/nginx.conf)中添加rtmp{} 部分,如下:?


復制代碼 rtmp {server {listen 1935;ping 30s;notify_method get;application myapp {live on; }} }
客戶端
使用VLC來訪問視頻服務器,觀看視頻。 VLC也是跨平臺的軟件,在Mac, windows終端都有不同版本。?
選擇 File/Open Network, 播放地址: rtmp://192.168.1.100:1935/myapp/stream.
即可觀看實時視頻。 參考:?
?? ? ? Nginx官網:?https://github.com/arut/nginx-rtmp-module/wiki/Getting-started-with-nginx-rtmp?


總結

以上是生活随笔為你收集整理的流媒体视频直播方案的全部內容,希望文章能夠幫你解決所遇到的問題。

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