-
當前位置:首頁 > 創(chuàng)意學院 > 短視頻 > 專題列表 > 正文
如何生成拉流地址(拉流地址教程)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于如何生成拉流地址的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
如需咨詢小紅書相關業(yè)務請撥打175-8598-2043,或微信:1454722008
本文目錄:
一、webrtc拉流在srs中的配置
配置文件
...
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
candidate 192.168.8.97;
}
vhost __defaultVhost__ {
rtc {
enabled on;
rtmp_to_rtc on;
}
.....
}
其實webrtc拉流,需要用到兩個端口,一個是1985,一個是8000(udp)
如果在配置文件中1985改成了1986,則
http://192.168.8.97:8080/players/rtc_player.html,中拉流地址:webrtc://192.168.8.97:1986/live/stream
真正的webrtc的流程:
1)、webrtc客戶端通過API接口/rtc/v1/play/通知SRS服務端創(chuàng)建WebRTC拉流連接,訪問的是以下 http://192.168.8.97:1986/rtc/v1/play/
2)、rtc交互過程,在日志中會有記錄,
RTC remote offer: 客戶端請求
RTC local answer: ...... udp 2130706431 192.168.8.97 8000 typ host generation 0\r\n
返回給客戶端的具體地址與端口號 (8000就是前面配置的端口)
特別注意,在docker中配置,在端口映射時,特別要注意,這個8000端口號,一定要與外網(wǎng)的端口號一樣。比如同時改成30049,才能正常拉流。
參考:
https://blog.csdn.net/adkada1/article/details/120590921
https://blog.csdn.net/adkada1/article/details/120590944
https://blog.csdn.net/adkada1/article/details/120590949
二、Mac搭建Nginx流媒體服務器,進行推流,拉流
Nginx 是非常優(yōu)秀的開源服務器,用它來做hls或者rtmp流媒體服務器是非常不錯的選擇
下面介紹如何在Mac上搭建流媒體服務器,以便后續(xù)的自己研究的項目或者demo向服務器上進行推流
首先需要安裝brew,brew是一款管理軟件的第三方平臺,安裝的方式也很簡單,請自行查閱安裝方式
執(zhí)行下面2句命令,即可安裝rtmp推流的nginx服務器
執(zhí)行完后,可以查看ngix安裝在哪里
可以看到M1 是安裝在這個目錄下/usr/local/etc/nginx
打開這個目錄,可以看到有個nginx.conf文件,這里就是服務器的一個配置文件,如果支持rtmp,則里面的內(nèi)容會有一個rtmp的json
這個json說明:
1.你本地的nginx服務器會監(jiān)聽1935端口號,
2.服務器會創(chuàng)建一個mytv的程序
后續(xù)你可以向這個地址進行推流,并且進行拉流播放
后面我們會使用ffmpeg向這個地址推流
rtmp://localhost:1935/mytv/room
并且用vlc拉取這個地址的流進行播放
執(zhí)行命令,即可啟動nginx服務器
驗證是否啟動成功,只需要在瀏覽器中訪問下以下鏈接
在瀏覽器地址欄輸入: http://localhost:8080
出現(xiàn)Welcome to nginx ,代表nginx安裝成功了。
打開配置文件 /usr/local/etc/nginx/nginx.conf
這里推的是flv流,可以正常推,這里需要注意的是服務器地址一定要寫正確,我的nginx.conf里application配置的是mytv,所以路徑就是mytv,room則是隨便寫都行,代表向程序mytv下的room文件推流
然后電腦上打開vlc這個播放器軟件 點擊File---->Open Network 在彈出來的框中選擇Network然后輸入URL:
驗證時,推流的文件最好搞大點,不然一下推完了,你才去拉取播放,則播放不了,因為這是實時的
vlc使用如下
3.點擊播放即可
可以看到左邊是畫面,右邊是ffmpeg在推流
參考: https://www.jianshu.com/p/cf74a34af15d
三、FFmpeg常用推流命令
一、FFmpeg推RTMP流準備工作
首先確保自已已經(jīng)安裝了nginx + rtmp服務器。
打開配置文件nginx.conf
完成如下配置
nginx配置.1
如果沒有nginx + rtmp服務器,請閱讀我的另一篇文章
Mac搭建nginx+rtmp服務器
二、FFmpeg推流
1.推流MP4文件
視頻文件地址:/Users/xu/Desktop/bangbangbang.mp4
推流拉流地址:rtmp://localhost:1935/rtmplive/home
acc:RTMP的音頻格式
flv: RTMP的視頻格式
ffmpeg -re -i /Users/xu/Desktop/bangbangbang.mp4-vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/rtmplive/home
設置推流.2
輸入命令行后,暫時先不要點回車,等設置好本地拉流后,再進行推流。
2.本地拉流MP4文件
打開VLC播放器
VLC.3
設置播放地址
設置播放地址.4
設置拉流地址
rtmp://localhost:1935/rtmplive/home
拉流地址.5
開始推流,點擊open后開始播放。
FFmpeg推流成功.6
推流成功!
三、用ffmpeg推流桌面以及推流攝像頭進行直播
1.如果希望將桌面錄制或者分享,可以使用命令行如下:
ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:1935/rtmplive/home
這個只能夠推桌面。
2.如果需要桌面+麥克風,比如一般做遠程教育分享 命令行如下:
ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
這個可以推桌面+麥克風。
3.如果需要桌面+麥克風,并且還要攝像頭拍攝到自己,比如一般用于互動主播,游戲主播,命令行如下
ffmpeg -f avfoundation -framerate 30 -i "1:0" \-f avfoundation -framerate 30 -video_size 640x480 -i "0" \-c:v libx264 -preset ultrafast \-filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
這個可以推桌面+麥克風,并且攝像頭把人頭放在界面下面
Snip20160713_12.png
四、FFmpeg常用基本命令
1.分離視頻音頻流
ffmpeg -i input_file -vcodeccopy-an output_file_video//分離視頻流ffmpeg -i input_file -acodeccopy-vn output_file_audio//分離音頻流
2.視頻解復用
ffmpeg–itest.mp4 –vcodeccopy–an–fm4vtest.264ffmpeg –itest.avi –vcodeccopy–an–fm4vtest.264
3.視頻轉(zhuǎn)碼
ffmpeg –i test.mp4 –vcodec h464 –s352*278–an –f m4v test.264//轉(zhuǎn)碼為碼流原始文件ffmpeg –i test.mp4 –vcodec h464 –bf0–g25–s352*278–an –f m4v test.264//轉(zhuǎn)碼為碼流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi//轉(zhuǎn)碼為封裝文件
-bf B幀數(shù)目控制
-g 關鍵幀間隔控制
-s 分辨率控制
4.視頻封裝
ffmpeg –i video_file –i audio_file –vcodeccopy–acodeccopyoutput_file
5.視頻剪切
ffmpeg –i test.avi –r1–f image2 image-%3d.jpeg//提取圖片ffmpeg -ss0:1:30-t0:0:20-i input.avi -vcodec copy -acodec copy output.avi//剪切視頻
-r 提取圖像的頻率
-ss 開始時間
-t 持續(xù)時間
6.視頻錄制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
7.YUV序列播放
ffplay -f rawvideo -video_size1920x1080 input.yuv
8.YUV序列轉(zhuǎn)AVI
ffmpeg–sw*h–pix_fmtyuv420p–iinput.yuv –vcodecmpeg4output.avi
9.常用參數(shù)說明:
主要參數(shù):
i 設定輸入流
f 設定輸出格式
ss 開始時間
視頻參數(shù):
b 設定視頻流量,默認為200Kbit/s-r 設定幀速率,默認為25
s 設定畫面的寬與高-aspect 設定畫面的比例
vn 不處理視頻-vcodec 設定視頻編解碼器,未設定時則使用與輸入流相同的編解碼器
音頻參數(shù):
ar 設定采樣率
ac 設定聲音的Channel數(shù)
acodec 設定聲音編解碼器,未設定時則使用與輸入流相同的編解碼器an 不處理音頻
四、今日頭條怎么設置推流直播
頭條號開通直播,可以在頭條新聞上面有一發(fā)布,點擊開,顯示直播,就可以個人拉流直播了。
具體方法如下:1、登錄頭條號后臺。
2、找到頭條直播間。
3、創(chuàng)建視頻直播。
4、獲取推流地址。
5、完善直播信息。
6、提交直播后靜候幾分鐘等待審核通過,審核通過后即可點擊開始直播進行直播。
以上就是關于如何生成拉流地址相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
如何開網(wǎng)店0基礎教程(如何開網(wǎng)店入門基礎)
如何把微信里的小程序弄到手機界面(如何把微信里的小程序弄到手機界面顯示)
抖音廣告買了東西查不到訂單(抖音廣告買了東西查不到訂單怎么回事)