« 3齢幼虫 | トップページ | ジューンベリー収穫 »

2011年5月27日 (金)

AppleTVでの再生

AppleTVでいろいろな動画をリビングで再生しています。

動画の形式はさまざまだ。大体以下のような感じかな。
mp4やm4vでも音声がAC3だったり、AACステレオとAC3サラウンドの両方が入ってたりもする。

・mkv(H.264orDivX+AC3音声、AAC音声+TEXT)
・avi(MS圧縮+MP3)
・WMV(MSMPEG4+MWA)
・ts(mpeg2ts、放送ストリーム)

これらをm4vのH.264+AACに変換してやらないといけない。単にコンテナ形式だけの変換なら以下のようにやればよい。
元:mkv(H.264+AAC)→m4v(H.264+AAC)
ffmpeg -threads 4 -i "a.mkv" -vcodec copy -acodec copy "a.m4v"

音声のみAC3だったりする場合は、
元:mkv(H.264+AC3)→m4v(H.264+AAC)
ffmpeg -threads 4 -i "a.mkv" -vcodec copy -acodec libfaac -ac 2 "a.m4v"

H.264部分はそのままなので変換はあっという間に終わる。

AVIやDivXやMSMPEG4の場合はH.264に再圧縮になる。多少劣化してしまうわけだが最終的に同容量程度に調整すればほぼ同等の画質にできるようだ。

複数の音声Trackや字幕Trackの選択も可能だ。英語音声と日本語音声、AACとAC3サラウンドの切り替えもできる。Chapterが入ってれば任意の場所に飛ぶこともできる。

Img_3537
字幕のON/OFFもできる!

Img_3540
音声を切り替える事も可能!

Img_3541
AACステレオとAC3サラウンドパススルーを切り替える事もできる! この場合はAVアンプなどにつなぐわけだ。

うーむ、完璧じゃないですか。(^o^)

|

« 3齢幼虫 | トップページ | ジューンベリー収穫 »

コメント

はじめまして。
かなり古い記事になってしまうのですが、こちらを参考にしつつ、HandbreakというソフトでH.264とAC3で創ったmkvファイルをffmpegでコマンドプロンプトからm4vへ変更しようとすると
Unknown Encoder 'libfaac'と出てしまいます。
調べていると、現行のffmpegにはlibfaacは使えないようになっているとか。
これを回避するのに有効なコマンドなどありませんでしょうか。
MS-DOSに関しての知識がないため、困っております。
ぜひ、お知恵をお貸しいただければ幸いです。

投稿: あきお | 2015年1月 8日 (木) 23時42分

あきおさん、はじめまして。カキコありがとう。

まずはじめに。 私はMacユーザで、自分でffmpegをbuildして使ってます。libfaacは自分で組み込んでいるから使えてるのです。

libfaacは再配布不可ライセンスなので、これを組み込んだffmpegはネット上には落ちてないのですよ。自分でbuildするしかないものなのです。

あなたはたぶんWindowsユーザでどこからffmpegを拾ってきたのか?知りませんが、libfaacを組み込んでないffmpegを使ってるのであれば、自分のffmpegに組み込んである別のAACのcodecを指定してください。AAC非対応のffmpegだったら不可能ですね。

あなたの使ってるffmpegの仕様は私にはわかりません。自分で調べて自分で指定してください。

PS 私はMacユーザなので、「ここのffmpegです」、とWindowsのバイナリを紹介されても検証もできません、あしからず。

投稿: ぶり | 2015年1月 9日 (金) 09時48分

コメント返信ありがとうございます。
結局、AC3からAACに変換ではなく、H.264+AACのコンテナ形式の変換のみで対応することにしました。

そこで新たなことが発生しました。
こちらの記事では、コンテナの変換で複数音声と字幕の切り替えもできる、とあるのですが
こちらの環境で試したところ、mkvのときは複数音声とソフト字幕だったものが、mp4だと音声は1つだけでソフト字幕は3GPPという形式に変換されていました。
iTunesでは字幕の選択はできず。
チャプターはiTunesで選択できるような状態です。
ffmpegでのコマンドは
ffmpeg -threads 4 -i "a.mkv" -vcodec copy -acodec copy "a.m4v"
これを流用し、m4vではなくmp4で出力しています。
原因は何かわかりますか。
おっしゃっている通り、当方はWindowsユーザーですので再現の検証は難しい部分はあると思いますが何かヒントになるようなものでもあれば助かります・・・。

投稿: あきお | 2015年1月30日 (金) 22時09分

字幕が3gpp?? 意味がわかんない・・・・?? mp4に変換してるんじゃないの?

字幕はtextトラックで別ですよ。 動画、音声に加えてそれもちゃんと変換指定しないと。さらにtextや音声が複数ある場合もそれもそれぞれ指定しないとダメなんですよ。

ffmpegの最新と過去版では文法が変わってます。

最新版の場合はここらあたりをよーく読んで考えてくださいませ。

投稿: ぶり | 2015年1月31日 (土) 10時46分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: AppleTVでの再生:

« 3齢幼虫 | トップページ | ジューンベリー収穫 »