akiyoko blog

akiyoko の IT技術系ブログです

HTTP Live Streaming Tools で配信用動画を変換する方法メモ

HTTP Live Streaming Tools を使って、H.264動画を iOSアプリからストリーミング再生できる動画に変換するための手順メモです。

ほぼ自分向けなので、よく分からない部分はご愛嬌。

環境

変換前の動画

  • 映像: H.264
  • 音声: AAC
  • 拡張子: mp4

おおまかな手順

  1. HTTP Live Streaming Tools をインストール
  2. ffmpeg をインストール
  3. ffmpeg で mpegファイルを tsファイルに変換
  4. mediafilesegmenter でストリーミング形式に変換
  5. ファイルを CyberDuckFTP-SSL転送

1. HTTP Live Streaming Tools をインストール

1)
Resources for Apple Developers から、「HTTP Live Streaming」をクリック。
f:id:akiyoko:20131204001704p:plain

2)
「HTTP Live Streaming」をクリック。
https://developer.apple.com/streaming/
f:id:akiyoko:20131204001712p:plain

3)
Developer ID でのログインが必要になります。
f:id:akiyoko:20131204002102p:plain

4)
dmgファイルをダウンロード。
f:id:akiyoko:20131204002331p:plain

5)
dmgファイルをダブルクリックしてインストールします。

2. ffmpeg をインストール

1)
http://www.evermeet.cx/ffmpeg/
から、最新のバイナリファイル「ffmpeg-1.0.7z」(当時)をダウンロード


2)
Keka で 7zファイルを解凍する(バイナリファイル ffmpeg ができる)
f:id:akiyoko:20131203235214p:plain

3)
パスを通す

$ sudo cp /Users/akiyoko/Download/ffmpeg /usr/bin/

3. ffmpeg で mpegファイルを tsファイルに変換

ffmpeg -i <file-name>.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb after.ts
$ mkdir -p /Users/akiyoko/Documents/test_upload/00001/movie
$ cd /Users/akiyoko/Documents/test_upload/00001/movie/
$ ffmpeg -i /Users/akiyoko/Documents/test_movie/before.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb after.ts
    ・
    ・
[adts @ 0x102807a00] Encoder did not produce proper pts, making some up.
frame=23623 fps=3314 q=-1.0 Lsize=   96341kB time=00:13:07.43 bitrate=1002.3kbits/s
video:73955kB audio:12070kB subtitle:0 global headers:0kB muxing overhead 11.992045%

f:id:akiyoko:20131203234028p:plain

(参考)

4. mediafilesegmenter でストリーミング形式に変換

mediafilesegmenter after.ts
$ mediafilesegmenter after.ts
Dec  3 2013 23:17:46.574: Using floating point is not backward compatible to iOS 4.1 or earlier devices
    ・
    ・
Dec  3 2013 23:17:51.019: Finalized fileSequence77.ts
Dec  3 2013 23:17:51.044: Finalized fileSequence78.ts
Dec  3 2013 23:17:51.050: average bit rate is 925160 - max file bit rate is 1.27569e+06

$ rm after.ts

f:id:akiyoko:20131203234038p:plain

5. ファイルを CyberDuckFTP-SSL転送


変換した .tsファイル、.m3u8ファイルを転送します(after.tsは転送しません)。
f:id:akiyoko:20131204003804p:plain

f:id:akiyoko:20131204003653p:plain