Linux

Linux 使用 ffmpeg 下載 m3u 串流影片教學與範例

介紹如何在 Linux 中使用 ffmpeg 指令下載 m3um3u8 串流影片清單,儲存為 mp4 檔案。

m3u 是一種用來儲存多媒體播放清單的檔案格式,而 m3u8 就是 UTF-8 編碼版本的 m3u,許多網路上的線上影片都會以 m3u 的格式來播放。

使用 ffmpeg 下載 m3u8 串流影片

取得 m3u8 播放清單的 URL 網址之後,即可使用以下的 ffmpeg 指令將串流影片下載為 mp4 影片檔案:

# m3u8 視訊串流檔列表網址
M3U8_URL="https://video.dious.cc/20200725/w0YyXoEY/index.m3u8"

# 輸出 MP4 檔案
MP4_OUTPUT="video.mp4"

# 下載 m3u8 視訊串流至 MP4 影片檔
ffmpeg -i "${M3U8_URL}" -bsf:a aac_adtstoasc -vcodec copy -c copy "${MP4_OUTPUT}"

使用 m3u8-download 下載 m3u8 串流影片

除了自己執行 ffmpeg 指令之外,也可以利用 m3u8-download 這個指令稿來下載 m3u8 串流影片。

首先從 GitHub 下載 m3u8-download 指令稿,並測試一下:

# 下載 m3u8-download
git clone https://github.com/williamchanrico/m3u8-download.git

# 測試 m3u8-download
cd m3u8-download/
./m3u8-download
 _____________________    
/ hello, who's there? \  
\ william said hi...  /  
 ---------------------    
       \   ,__,          
        \  (..)____      
           (__)    )\     
              ||--|| *    
Download video from m3u8 address using ffmpeg

usage: m3u8-download M3U8_ADDRESS {OUTPUT_FILENAME}

執行 m3u8-download 指令並指定 m3u8 視訊串流檔列表網址以及輸出的 mp4 影片檔案,即可以下載串流影片:

# m3u8 視訊串流檔列表網址
M3U8_URL="https://video.dious.cc/20200725/w0YyXoEY/index.m3u8"

# 輸出 MP4 檔案
MP4_OUTPUT="video.mp4"

# 使用 m3u8-download 下載 m3u8 視訊串流至 MP4 影片檔
./m3u8-download "${M3U8_URL}" "${MP4_OUTPUT}"
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago