多機能動画エンコードツールのAndroid版「FFmpeg for Android Beta」

録音アプリなどで保存したWAV形式の音声ファイルは、圧縮されていないためファイルサイズが無駄に大きくなってしまう。また、カメラで撮影した動画なども、録画時の処理負荷を抑えるため、画質の割にファイルサイズが大きくなってしまっている場合がある。
このような動画や音声ファイルは、縮小や再エンコードを行なうことで、ファイルサイズを削減できる。
パソコンを持っていなかったり旅行中などで利用できない状況で、録画・録音したファイルが溜まってSDカードの容量が少なくなってきて、スマートフォン上でエンコードを行ないたい場合は、「FFmpeg for Android Beta」を使ってみよう。
オープンソースで開発されていて多くのエンコードソフトに採用されているマルチメディア処理ライブラリ「FFmpeg」をAndroidアプリとして利用できるように移植したもので、多くの動画・音声形式に対応している。
現在の所、エンコードオプションは全て文字列で指定しなければならず、使い方が少々面倒だが、画質など様々なオプションを柔軟に指定できる。好みの画質・サイズになる設定値を探して、テキストなどに保存しておいて、コピーして利用するといいだろう。

ffmpeg_001「FFmpeg for Android Beta」を起動したら、オプション入力欄に変換オプションを入力する。初期状態で入力されているオプション例は、全選択して上書きしてしまおう。

ffmpeg_002「Ok」ボタンを押すと、エンコード処理が開始されるぞ。スマートフォンのCPU速度はパソコンに比べると遅いため、動画のエンコードには動画の再生時間の何倍も時間がかかることがあるので、端末を充電状態にして気長に待とう。

ffmpeg_003オプションが不足していたり間違っていたりすると、このようなエラーが表示されて変換されないことがある。「-aspect 16:9」など、パソコン版のffmpegでは省略可能なオプションも指定しないとうまくいかないことがあるようだ。


コマンドの例

基本的な変換オプションの指定例をいくつか紹介しよう。「-i」の後のファイルパスを変換元ファイルに、最後のファイルパスを変換先ファイルに設定し、解像度やビットレートの数値を好みに応じて変更して利用しよう。気に入った設定はテキストファイルなどに保存しておいてコピーして利用するといいぞ。

例1:動画の映像のみ縮小・再エンコード

-i /sdcard/input_video_file.3gp -s 320×180 -b 400k -r 30 -aspect 16:9 -vcodec mpeg4 -acodec copy /sdcard/output_video_file.3gp

例2:動画の音声を抽出

-i /sdcard/input_video_file.3gp -acodec copy -y /sdcard/output_video_file.aac

例3:音声ファイルをエンコード

-i /sdcard/input_audio_file.wav -acodec aac -strict experimental -ab 64k /sdcard/output_video_file.aac

オプションの意味

-s 320×180
映像の縦横のピクセル数を320×180ピクセルに設定
-b 400k
映像のビットレート(画質)を400Kbpsに設定
-r 30
映像のフレームレートを30fpsに設定
-aspect 16:9
映像の縦横比を16:9に設定
-vcodec mpeg4
映像をMPEG4形式でエンコードする
-acodec copy
音声を再エンコードせずコピーする場合に指定
-acodec aac -strict experimental
音声をAAC形式でエンコードする場合に指定
-ab 128k
音声のビットレート(音質)を128Kbpsに設定
-y
保存先ファイルが既に存在する場合上書きする

FFmpeg for Android Beta

関連記事

2012年01月10日14時52分 公開 | カテゴリー: マルチメディア | キーワード:, | Short URL
このエントリーをはてなブックマークに追加

最新記事