2013年11月29日金曜日

Viera で再生可能なフォーマット / MP4 format requires a seekable stream

備忘がてら。

Viera TH-L37R3 で DMR として再生できるフォーマットについては

Panasonic のサポートページに記載されていました。

TH-P50/46/42VT3・TH-P50/46/42GT3・TH-P46/42ST3・TH-L37/32DT3(DMR機能で再生できるコンテンツの種類)
http://panasonic.jp/support/tv/connect/dmr/th_vt3_gt3_st3_dt3.html
細かな型番は違いますが。。。

TED でダウンロードした MP4 ( h.264 / AAC ) をそのまま再生できるのですが
High Resolution の場合、スムーズに再生できない状況です。

試しに、 わざわざトランスコード (MPEGTS (mpeg2video /mp2) してみたところ、スムーズに再生できた。。。
ただ、なぜか TED のMP4 をトランスコードして再生すると、画面の右1割程度が
引っ張られたようにぶれた感じになってしまいます。。
直し方は要調査。

それでは、ということで  さらに試しに、MP4 (h.264 / AAC) にトランスコードしてみた
(なにも変わっていませんが、試しに。です)
すると、下記のようなエラーが発生。

 [mp4 @ 0x996b8a0] muxer does not support non seekable output
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

調べてみると、どうも MP4 というフォーマットは seekable でないといけないらしい
ffmpeg でのトランスコードで mediatomb のパイプに連携する場合
受信側から見ると seekable に見えないようですね。。。

以下引用
--------------------------------
you cannot write to a pipe using MP4 format,
as the MP4 format requires a seekable stream - it is logically impossible.
--------------------------------

こうなると High Resolution 版はあきらめるか、
MPEG-TS で画面表示がおかしい原因を突き止めるか、、、 多難です。

※2013/12/01 補足 ----------------------
ffmpeg で作成した mp4 コンテナには、メタデータを格納した Moov atom という部分が
一番後ろにあるそうです。
-movflags faststart オプションをつければ、 2パス目のエンコードの際に
該当の Moov atom 部分を先頭に持ってくることができ、ストリーミング可能になる模様。
ただし、トランスコードでは、2パスエンコーディングではないためダメなんでしょうね。。。

movflags については下記を参照(movflags で検索)
http://ffmpeg.org/ffmpeg-formats.html

なお、手持ちの ffmpeg が movflags faststart に対応しているかどうかは
ffmpeg -h full でヘルプを表示させ、 movflags を探せばよいです。
full がついていないと表示されません。。。
------------------------------------------

※ 2013/12/10 追記 -----------------------
Viera catalog
http://ctlg.panasonic.com/jp/tv-theater/viera/lcd-tv/TH-L37R3.html
-----------------------------------------

0 件のコメント:

コメントを投稿