Nginx+ffmpeg搭建Apple Http Live Streaming筆記
起始Nginx來搭建HLS步驟很是少
安裝好Nginx,而後跑起來
把切片好的視頻和m3u8文件放到部署目錄,直接訪問就能夠了
重點是(切片)視頻
網上國內國外的找了好多博客
這裏必定注意一點,不要用VLC播放器來測試,最好用iPad或者iPhone,再麼用Safari 開發模式下模擬iPad、iPhone的瀏覽器模式播放
由於在網上找了不少你們說VLC源碼裏面對HLS協議支持的很差,甚至快進暫停在源碼裏壓根就沒實現!!
下面是ffmpeg對視頻進行切片的命令
ffmpeg -y -i %(filename)s -pix_fmt yuv420p -vcodec libx264 -acodec libfaac -r %(fps)s -profile:v baseline -b:v %(bitrate)sk -maxrate %(bitrate)sk -force_key_frames %(keyframe_str)s -s %(width)sx%(height)s %-f segment -segment_list %(target_dir)sindex_%(bitrate)s.m3u8 -segment_time %(segment_size)s -segment_list_type m3u8 %(filenameNoExt)s_%(count)s.ts
好比
ffmpeg -y -i infile.mp4 -pix_fmt yuv420p -vcodec libx264 -acodec libfaac -r 25 -profile:v baseline -b:v 1500k -maxrate 2000k -force_key_frames 50 -s 640×360 -map 0 -flags -global_header -f segment -segment_list /tmp/index_1500.m3u8 -segment_time 10 -segment_format mpeg_ts -segment_list_type m3u8 /tmp/segment%05d.ts
https://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment
上面這個連接介紹了大概的命令解釋,可是ffmpeg開發的人多,版本更新的也快,就是寫說明文檔的人特別少,寫的也讓人看不懂,不會用啊!!!
個人文件是用的MP4
因此用了一下命令
ffmpeg -i input.mp4 -codec copy -map 0 -bsf h264_mp4toannexb -c copy -f segment -segment_list ™output.m3u8 -segment_time 10 output-%03d.ts
目前還有一個須要研究,就是我把文件放在其餘路徑,寫成 絕對路徑的時候,.m3u8文件裏面也會對應編程絕對路徑,就會致使文件播放不了,這個還有待於繼續研究,先坐下筆記
歡迎關注本站公眾號,獲取更多信息