[Note] ffmpeg, ffprobe, ffplay
$ ffmpeg -i filename.flv # 檢視影片資訊
$ ffprobe filename.flv -show_format # 檢視影片資訊
$ ffplay filename.flv
安裝
使用 homebrew 安裝
$ brew install ffmpeg
手動安裝 ffmpeg
如果可以的話,直接將 ffmpeg
的執行檔複製進 /usr/local/bin
即可。
否則,在家目錄新增或修改 ./bash_profile
,接著在裡面輸入:
# /path/to/dir 放要加入 $PATH 的路徑
export PATH=$PATH:/path/to/dir
使用 ffmpeg 下載 m3u8 檔案
- 先找到類似
.m3u8
的播放清單檔案(從 Network 中搜尋.m3u
) - 找到
.m3u8
的檔案後,裡面的連結有時候只會放檔名,要先讓它變成完整的連結需要加上前綴(從 Network 中搜尋.ts
,看看這些.ts
的實際網址為何) - 透過 ffmpeg 下載
💡 有時候真正的
.m3u8
會先記錄在某一個純文字檔中,從純文字檔中才可以找到真正的.m3u8
清單。
# -i : Input
# -c : codec
$ ffmpeg -i "m3u8網址" -c copy media.mp4
$ ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "m3u8網址" -c copy "ep1.mp4"
# 有些時候需要把 m3u8 檔案下載下來放在本地
$ ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i "m3u8檔案位置" -c copy "ep1.mp4"
# 有些時候需要偽造標頭,先用瀏覽器的 Network 看請求 m3u8 檔時用了哪些 request header
$ ffmpeg -protocol_whitelist "file,http,https,tcp,tls" \
-user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0" \
-headers $'Origin: origin表頭值\r\nReferrer: referrer表頭值\r\nCookie: cookie值\r\n' \
-i "http://xxx.yyy/zzz.mp4/index.m3u8" \
-c copy "/Users/Jason/Desktop/example.mp4"