搭建nginx+rtmp:
http://blog.csdn.net/a454431208/article/details/52780970
注:然后電腦上打開vlc這個(gè)播放器軟件 點(diǎn)擊File—->Open Network 在彈出來(lái)的框中選擇Network然后輸入U(xiǎn)RL:
”rtmp://localhost:1935/zbcs/room" rtmp默認(rèn)端口是1935呀舔,也可以自己設(shè)置成喜歡的
例如:rtmp://localhost:2016/rtmplive/room褒墨,這個(gè)要到對(duì)應(yīng)的nginx.conf中修改
http{}后面
rtmp {
server {
listen 2016;
application rtmplive {
live on;
record off;
}
}
}
注:改了之后需要重啟Nginx服務(wù):nginx -s reload即可。
庫(kù):librtmp
播放器:ijkplayer就可以 git地址:https://github.com/Bilibili/ijkplayer
你就可以把ijkplayer拆了宛蚓,自己實(shí)現(xiàn)通信協(xié)議,拿到碼流挎狸,自己解碼部翘,自己顯示,自己播放聲音珍促,按時(shí)間戳實(shí)現(xiàn)音視頻同步铃辖,這個(gè)也好了的話,就去弄推流猪叙,推流協(xié)議不用管娇斩,只需要采集和推流⊙妫考慮到qos犬第,推流前需要做個(gè)緩沖池,通過(guò)網(wǎng)絡(luò)情況調(diào)整采集編碼參數(shù)芒帕。
調(diào)整的最簡(jiǎn)單方式就是 預(yù)先配置幾個(gè)配置歉嗓,按照網(wǎng)絡(luò)情況進(jìn)行快降慢升。
最后整個(gè)流程大概就這么多背蟆,其實(shí)沒(méi)多少東西鉴分,只是細(xì)節(jié)需要注意。
關(guān)于編解碼的淆储,蘋果直接調(diào)用api就可以實(shí)現(xiàn)冠场。
2016-11-24:
1、本地搭建一個(gè)ngnix+rtmp的服務(wù)器(具體看開頭的博客地址)
2本砰、手機(jī)和電腦是同一個(gè)網(wǎng)段
3碴裙、使用第三方的視頻播放器(ijkplayer)https://github.com/Bilibili/ijkplayer 這個(gè)b站開源框架git地址
當(dāng)然還有別人整理的demo,用來(lái)就可以直接播放点额;地址:http://www.reibang.com/p/5218f8c952fb
注:demo中需要寫播放地址的url(rtmp開頭)舔株;這個(gè)url必須和電腦上臨時(shí)搭建流的地址一樣,這樣就可以看到直播的視頻了
首先:終端中FFmpeg推流命令:
1还棱、本地視頻播放流命令:ffmpeg -re -i /Users/charles_wtx/Desktop/鬼吹燈之黃皮子墳01.mp4 -vcodec copy -f flv rtmp://localhost:2016/rtmplive/room
2载慈、桌面實(shí)時(shí)流命令:
1)將桌面錄制或者分享,可以使用命令行如下:
ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:2016/rtmplive/room
2)桌面+麥克風(fēng)
ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:2016/rtmplive/room
3)桌面+麥克風(fēng)珍手,攝像頭拍攝到自己
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:2016/rtmplive/room
其次:
//這里必須寫成實(shí)際電腦的ip地址办铡。辞做。。
NSString *path = @"rtmp://192.168.1.101:1935/zbcs/room";
[IJKVideoViewController presentFromViewController:self withTitle:@"正在播放:寡具。秤茅。。" URL:[NSURL URLWithString:path] completion:^{
NSLog(@"播放器初始化完成童叠!");
}];
未完待續(xù)...