画像ファイルの整理をしていて一瞬焦った。何が映ってるのかな?と動画を再生してみると異常に短いのです。初めの数個は失敗した棄てデータなのかなと笑ってましたが、確実に内容を覚えている動画が途中で終わってしまったので気が付きました。前に携帯で再生したときはちゃんと観れたはずなのに…そう、携帯で撮った動画です。
PCに移すとトランケートされるのか?
ファイルが壊れてるのか?
いやがらせか?
他の動画も調べてみるとどうやら6秒しか再生されていません。しかし、ファイルサイズを見てみるとそれぞれバラバラでした。不自然だ。ということはデータ自体にはもっと長い動画が入っているけれども6秒しか再生されていないという可能性が強いです。ちなみに再生に使用したソフトはVLCです。
VLCのバグか?
ここで、googleの出番です。とりあえず、他に6秒で困ってる人はいるのかな?と「3g2 6秒」をキーワードに検索します。たくさん出てきました。それも何年も昔の記事です。今まで何してたんだろう?それはともかくVLCだけが悪いようでは無いようです。
いくつかの記事を読むと3G2の「断片化」が悪さをしているようです。3GPというキーワードも出てきます。動画の断片化って何?3GPって何?
調べてみました。簡単にまとめると下のようです。
では変換してみましょう。こういうときはだいたいいつもFFMPEGを使います。まずはMPEG4から。
>ffmpeg.exe -i data.3g2 -c:v copy -c:a copy data.mp4残念。エラーが出てできません。音声コーデックにAACやAC3を指定すればできるのですが、AMRは駄目なのかな?再エンコーディングはしたくないので、次を試してみましょう。
>ffmpeg.exe -i data.3g2 -c:v copy -c:a copy data.3gpできました。ブラボー!VLCでもちゃんと再生できたのでこれでよしとします。本当はフレームレートの数値が若干変わってるのが気になるといったら気になりますが。
3G2や3GPについてはこちらのページを参考にしました。