本サイトではアフィリエイト広告を利用しています

PC-UNIX Windows ソフトウェア 変換

ffmpeg で動画から音声を取り出す

2019年10月4日

ffmpeg-logo
昨今のスマホの普及、バッテリー容量の向上とあいまって、ボイスレコーダーの代わりに、スマホやコンデジで動画撮影に置き換えることが増えていると思います。
しかし、いざ撮影してみたら動画にするほどでもなく、音声だけで十分だったケースが多いものです。そんなときに、手っ取り早く動画から音声を取り出す方法を紹介します。

定番の ffmpeg を使う

ffmpeg をダウンロード

ffmpeg 自体はオープンソースのフリーウェアですので、誰でも無料で使用することができます。以下の URL からダウンロードできます。
公式サイト:Download FFmpeg
多くの人はMacかWindows版で足りると思うので、自分の使用するOSにあったものをダウンロードしてください。
インテル版なら FFmpeg Builds から64ビットか32ビット版を選べますが、多くの人が64ビット版に移行しているはずなので、64ビット版を使うのが普通です。

動画から音声だけを抜き出すコマンドオプション

「動画から音声だけを抜き出す=動画から映像だけを消す」ということですので、
-vn で video 要素を消す
$ ffmpeg -i "動画-movie.mp4" -vn -acodec mp3 -f mp3 "音声-sound.mp3"

出力する音声の品質を指定するコマンドオプション

-q:a <数字> で指定できる。数値は0から9。小さい値ほど高音質。LAMEの-V 0から-V 9に相当
$ ffmpeg -i "動画-movie.mp4" -vn -acodec mp3 -q:a 4 -f mp3 "音声-sound.mp3"

出力する音声のレベルを均一化するコマンドオプション

会議や講演会等の音声レベルを均一化して、ひずまない範囲で持ち上げます。
-af dynaudnorm で指定する。
$ ffmpeg -i "動画-movie.mp4" -af dynaudnorm -vn -acodec mp3 -f mp3 "音声-sound.mp3"

出力する音声のビットレートを指定するコマンドオプション

-ab <数字> で指定できる。数値の単位は bits/s 、128000 なら、128k と書くことも可能>
$ ffmpeg -i "動画-movie.mp4" -vn -acodec mp3 -ab 128k -f mp3 "音声-sound.mp3"

細切れの.tsファイルを.m3u8 ファイル通りに連結する

"再生リスト.m3u8" があることが前提になります。
"再生リスト.m3u8" は直接URLで指定することも可能。

動画の場合

$ ffmpeg -i "再生リスト.m3u8" -movflags faststart -c copy -bsf:a aac_adtstoasc "動画-movie.mp4"

音声の場合

$ ffmpeg -i "再生リスト.m3u8" -movflags faststart -c copy -bsf:a mp3decomp "音声-sound.mp3"

 再生リスト.m3u8
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1034240
d85dv800_g0yum203_h264_1000K.mp4
#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=620544
d85dv800_j03m97cu_h264_600K.mp4

-PC-UNIX, Windows, ソフトウェア, 変換
-, , , ,