環境
$ffmpeg -h|head ffmpeg version git-2019-03-08-147ef1d Copyright (c) 2000-2019 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.10.44.4) configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD-147ef1d --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/include/darwin' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-videotoolbox --disable-libjack --disable-indev=jack --enable-libaom --enable-libsoxr libavutil 56. 26.100 / 56. 26.100 libavcodec 58. 47.103 / 58. 47.103 libavformat 58. 26.101 / 58. 26.101 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 48.100 / 7. 48.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100
コマンド
ネットから落としてきたm3u8ファイルの中に動画が分割された.tsファイルのリストが入っている。
で、それをwgetで落として結合しようかな、と思っていたのだが、どうやらffmpeg自体にダウンロード機能があった。
以下ダウンロードするコマンド
ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -loglevel debug -i hoge.m3u8 -movflags faststart -c copy movie.mp4
- protocol_whitelist ローカルのm3u8ファイルを指定する場合はこのオプションをつけないとエラーになる
- loglevel 任意
- i 保存したいm3u8ファイルの場所
- movflags faststart 録画終了後にメタデータをmp4ファイルの先頭部分に移動します。再生開始までの時間が短縮されます
つまりおまじない - c copy コーデックはエンコードすることなくコピーするだけ 動画変換が今回の目的ではないので
でいける。