前言:就像Richy研究新技術(shù)一樣雄驹,由于技術(shù)發(fā)展迅速愈诚,通過各大搜索引擎搜出的可供參考的資料也是五花八門,有的還比較陳舊阔挠。這些外在的因素飘庄,無疑也滯后了Richy和大家前進(jìn)的速度。經(jīng)過不懈努力购撼,歷經(jīng)坎坷跪削,Richy現(xiàn)將成果再次記錄且與大家分享谴仙,以達(dá)到共同進(jìn)步的目的∧胙危【給予大于索取】
PS:本文的主要目的在于:加以個(gè)人理解晃跺,對(duì)研究新技術(shù)的記錄。如果文中有出入的地方毫玖,還請(qǐng)見諒掀虎,且請(qǐng)各位大蝦指正,不勝感激付枫,已內(nèi)牛滿面...
閑話不多說烹玉,正題coming...
實(shí)現(xiàn)總述:
通過ffmpeg將本地的xxx.mp4進(jìn)行切片處理,生成m3u8播放列表(索引文件)和N多個(gè) .ts文件阐滩,并將其(m3u8二打、N個(gè)ts)放置在本地搭建好的webServer服務(wù)器的指定目錄下,我就可以得到一個(gè)可實(shí)時(shí)播放的URL(類似于:http://localhost/xxx/xxx.m3u8)掂榔,最終將該URL運(yùn)用于之前簡(jiǎn)易封裝的AVPlayer和VLC播放器中測(cè)試播放继效,得到了如上圖的結(jié)果。
主要步驟:
1装获、安裝Homebrew莲趣;2、安裝ffmpeg饱溢;3、mp4->m3u8切片處理走芋;4绩郎、WebServer提供m3u8播放索引;5翁逞、播放測(cè)試肋杖。
1、打開終端挖函,輸入命令状植,安裝Homebrew
1.1 先檢查是否安裝了Homebrew,在終端輸入命令:brew help怨喘。如圖說明安裝了津畸,并且你也可以查看它的其他常用命令:
1.2 如果未安裝,則在終端輸入安裝命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2必怜、安裝FFmpeg(音視頻流化處理且可跨平臺(tái))工具
在終端輸入命令:
brew install ffmpeg
下圖可清晰看到ffmpeg共47M(要耐心等待哦~)肉拓,以及安裝在本地的路徑(usr/local/Cellar/ffmpeg/3.0.2)。
3梳庆、mp4->m3u8切片處理
通過剛剛安裝的ffmpeg暖途,在終端輸入命令(靈活變化):
ffmpeg -i XXX.mp4 -c:v libx264 -c:a copy -f hls XXX.m3u8
其中卑惜,XXX.mp4為本地視頻文件,XXX.m3u8為最終生成的播放索引列表驻售,與此同時(shí)還有N多個(gè)ts文件露久。
4、WebServer提供m3u8播放索引?
首先在本地啟用Apache搭建好WebServer(這里不做介紹了)欺栗,然后將<步驟3>中的 XXX.m3u8 放置于該服務(wù)器下的共享目錄下毫痕,由此可得到m3u8的播放URL(http://localhost/richyleo/m3u8/war3.m3u8),Richy的真實(shí)切片命令共大家參考替換:
ffmpeg -i /Users/richyleo/Downloads/warcraft.mp4 -c:v libx264 -c:a copy -f hls /Library/WebServer/Documents/RichyLeo/m3u8/war3.m3u8
5纸巷、播放測(cè)試
打開Safari瀏覽器镇草,或者在App中載入播放視頻功能,傳入播放地址即可完成瘤旨。
最后
歡迎大家關(guān)注我們團(tuán)隊(duì)微信公眾號(hào)梯啤,以及博客地址,在這里我們會(huì)實(shí)時(shí)與大家分享優(yōu)質(zhì)的技術(shù)文章存哲。大家也可以加入我們的技術(shù)交流群(QQ群:343640780)因宇,共同探討,共同進(jìn)步祟偷。
團(tuán)隊(duì)博客地址:http://www.52learn.wang
團(tuán)隊(duì)GitHub:https://github.com/wu2LearnTeam