[[携帯動画変換君未対応機種情報]]

*A5504T [#n62a7e94]

''携帯動画変換君 Version 0.26''~
>A5504T向け設定、A5506T向け設定を追加しました。A5504Tに関してはきちんと対応データを 構築することができれば早送り・巻き戻しも可能になるはずですが、試行錯誤の末、「この データをこうすればいいんじゃないか」という推定まではたどり着きましたが、対応の データを出力することは最終的に断念しました。ごめんなさい。 ※技術的に難易度が高いというか、現状の出力方法(ffmpeg→QuickTime)では対応が非常に 難しいという理由です。なお、この設定では長時間の動画が再生できない可能性があります。 (A5506Tに関しては最大再生可能サイズの制限がありますのでもともと長時間の再生はできません) 

とあるけど、実際のところどうなんですか。

俺はA5504Tを持っていないのでどうでもいいといえばどうでもいいんだけど、引き継いでみようかな。

QVGAのAMRは音も絵も質を下げてしまうので、QCIFのAACで4MBくらいの断片化されたファイルで挑戦してみようかなと。
でも、A5504Tを持ってい俺にはA5504Tのこと知らないし動作確認も出来ない。


*えーと、現在わかっていることと試したことを簡単にまとめておきます(by Calcium) [#g590ef16]
再生の最後にエラーになるとかに目をつぶり、全体のファイルの完成度を求めないという前提ならA5504T向けの3G2フォーマットでのなんらかの出力は出せると思います。
ただ、私が「対応する」という場合はエラーをつぶしてきちんと対応したいと考えていますので、いろいろ調べた結果断念したというわけです。参考までに、調べたことと思考の過程を簡単にメモしておきます。(要点だけですが…。実際には他にもいろいろ試行錯誤はしています)
-A5504Tの実機が触れる店舗は都内だとヨドバシカメラ新宿西口本店通信館店頭(まだあるかな?)
-A5504Tが再生可能なストリーム
--ビデオストリームはXviD Simple@L3 (ユーザ情報を削除したもの)でOK
--オーディオストリームはamr_nbでOK
-A5504Tが再生可能なコンテナ
--3GPPコンテナでは再生可能だが、早送り巻き戻しが出来ない(=現状はこれで我慢)
--3GPP2コンテナでは早送り巻き戻しが可能だが、数秒でエラーになり停止→3GPP2でA5504Tで再生させるための条件を探る必要あり
--3GPP2が中心となる設計のようなので、3GPPコンテナでは長時間の動画が再生できない可能性が高い(=チャンク・フレームのバッファを断片化前提のサイズしか確保していない可能性が高い)
-エラーになる原因の推測
--3GPP2コンテナでも最初の数秒は再生できることから、moov相当部分/moof相当部分に分類するとmoov部分に関してはデコードできていると考えられる
--断片化した地点でエラーになるわけではないが、断片化の時間をいじると相当してエラーになる箇所も変化するので、moofの先読み時にデコード失敗してエラーになっているのではないかと推測できる。
-再生できる3G2ファイル(A5504T本体で録画したファイル)とエラーになる3G2ファイルの比較
--上記の点から、主にmoofの相違点を検証する。(moovに関しては特に問題になりそうな大きな相違はなかった。V601T対応時に東芝デコーダにあわせて修正したし)
---オーディオトラック, ビデオトラックのトラック番号が違う→書き換えても変化なし→再生可不可に無関係
---tfhdの構成が違う。A5504T録画ファイルはbase-data-offsetが0のデータばかり→base-data-offsetの処理に失敗している?→base-data-offsetを0にしてこのフィールドを削除する処理を書いてみた(ATOMChanger A5504T=1)が変化なし→再生可不可に無関係(たぶん)
---trunの構成が違う。trunのflagでfirst-sample-flags-presentが立っているデータはNGのものにしか無い→書き換えてテストしてみたいが、これを「削除」するためにはコンテナ構築時からきちんと検討しなければいけない→とても面倒なのでパス
---mfraはおそらく必須です。QTの3GPP2出力はmfraが無いのでこれを生成する必要があります。(ATOMChanger build_mfra)、しかし、古い東芝デコーダ(V601T含む)は、mfra/tfraのtraf_number,trun_number,sample_numberが全て1でないといけないという制限があります(たぶん。V601Tはそうでした)。QTの3GPP2コンテナ生成は当然そんなこと何も考えずにチャンクを作っていくので、ここに矛盾が生じていることがエラーの原因かもしれません。(Build_mfra=1で「正しい」mfra/tfra、Build_mfra=2で「強制的にパラメータを1とした」mfra/tfraを生成します)
-ヘッダの意味がわけわからないという人は[[ISO MPEG-4フォーマットの仕様書:http://www.iso.org/iso/en/ittf/PubliclyAvailableStandards/c038539_ISO_IEC_14496-12_2004(E).zip]]が参考になります。

*私が挑戦する内容 [#w43c9588]
(2005-03-19 3:39)
まず元データとしてQCIFのAACで断片化されたファイルを変換君で作成しておきます。
''そもそもこの時点でどうやっても再生不可状態だったら困る。''
 [Item0]
 Title=QCIF標準画質15fpsステレオ
 TitleE=QCIF Normal quality 15fps Stereo
 TitleC=QCIF エカウqオeス陦AィCャ・5ョ譯A・゚ナ鮹n
 Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -timestamp "<%TimeStamp%>" -bitexact -vcodec mpeg4 -fixaspect -s 176x144 -r 14.985 -b 190 -acodec aac -ac 2 -ar 16000 -ab 32 -f 3gp -muxvb 64 -muxab 32 "<%TemporaryFile%>.3gp""
 Command1=""<%AppPath%>\cores\QT3GPPFlatten" "<%TemporaryFile%>.3gp" "<%TemporaryFile%>_2.3g2" -c QT_3GPP2_QCIF_AAC.ini"
 Command2="rm "<%TemporaryFile%>.3gp""
 Command3=""<%AppPath%>\cores\ATOMChanger" "<%TemporaryFile%>_2.3g2" "<%OutputFile%>.3g2" "Camouflage_MOVIE_for_A5504T.ini""
 Command4="rm "<%TemporaryFile%>_2.3g2""

しまった、上記で作ったのが4MBもあるのでここに置けない。
まぁ、再生できないデータだから、置いてもしょうがないか。
できたときに置き場所考えよっと。

上記で作成し、公式着うたのtrex、trafをまねてみます。
つまり、mfraの追加とかは変換君で作業済みとして楽をさせてもらいます。
コンテナ構造はまったくいじりません。
つまり15秒単位の断片化とか、トラックIDなどは一切変えない。

ご指摘のとおり、これによりtrunなどのサイズが変わりずれるので面倒です。
でも何とかやってみようと思う。''暇なときに少しずつ''だけどね。

(2005-03-19 8:28)
tfraにもオフセットがあるのか。こまったな。でも何とかなった。
まだまだいろいろ改造しないとA5504Tで再生できないだろうな。
http://hw001.gate01.com/zzz1/

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS