使用 FFmpeg 下載 HLS 影片
⚠️ 請注意,本範例僅供學習參考,請遵守各平台影片使用規範與相關法令,產生之行為與後果將由使用者自行負責
下載檔案
使用 FFmpeg 下載檔案,並轉換成 MP4 格式,如果需要驗證 Cookie,可使用 headers 選項
1 | ffmpeg -headers "Cookie: [Cookie替換]" -i "[m3u8網址]" -c copy -bsf:a aac_adtstoasc [輸出影片].mp4 |
參數解析
參數 | 說明 |
---|---|
-headers "Cookie: [Cookie替換]" |
傳送 HTTP 標頭,通常用於需要驗證或存取受限的 m3u8 資源 |
-i "[m3u8網址]" |
指定輸入來源為 m3u8 串流清單的網址 |
-bsf:a aac_adtstoasc |
對音訊流(AAC)應用位元流過濾器(bitstream filter),將 ADTS 格式轉換為適合 MP4 的格式 (通常 m3u8 使用 ADTS 格式) |
使用 FFmpeg 產生 HLS 影片
產生影片
1 | ffmpeg -i [輸入影片].mp4 \ |
參數 | 說明 |
---|---|
-c:v libx264 |
設定視頻編解碼器為 libx264 (H.264 編解碼器),適用於 HLS 串流 |
-c:a aac |
設定音頻編解碼器為 aac ,適用於 HLS 串流 |
-hls_time 10 |
設定每個 HLS 分段的時長(單位:秒),此處為 10 秒,表示將影片分割成每 10 秒一個片段 |
-hls_list_size 0 |
設定播放清單的大小, 0 表示清單包含所有的段,不會移除任何片段,若設為正整數,則只保留最新的 N 段 |
-hls_segment_filename "segment_%03d.ts" |
設定每個 HLS 分段檔案的命名規則, %03d 會生成從 001 開始遞增的檔名 |
-f hls |
指定輸出格式為 HLS |
playlist.m3u8 |
指定輸出的 M3U8 播放清單檔案名稱,此檔案將包含 HLS 影片分段的播放清單 |