猫の手紙

このブログは、ななろうの平凡な日常を淡々とメモ書きしたものです。過度の期待はしないでください

Top Page › 家電・PC・東芝・ゲーム・携帯 › >東芝 REGZA › MPEG4 H.264/AVCのプロファイルとレベルの変更

2013-02-26 (Tue) 17:12

MPEG4 H.264/AVCのプロファイルとレベルの変更

東芝 REGZAで LinkStation LS-XHLに DLNA接続して
MP4(H.264/AVC)ファイルの再生を確認出来ましたが
Baseline規格で再生される画質にどうしても納得出来ません

何か良い方法が無いかとネットを探してみると
MPEG4 H.264/AVCのプロファイルとレベルの変更というのがヒットしました

単純に再生できない動画のファイルを
バイナリエディタ等でプロファイルとレベルだけを書き換え変更し
騙して?再生を可能にする方法でした

これなら再変換による画質低下も無いので
出来たら良いかもと思い早速調べて試してみました

探してみるとこの様な
MP4(H.264/AVC)のプロファイルとレベルの変更するツールは3つヒットしました

単純にプロファイルとレベルの書き込まれる位置は解っているから
その部分を書き換える自動物が2つと
一度ファイル内を検索して場所を特定して手動で書き換えをする手動物でした

勿論最初は操作が簡単な、自動物を試したのですが、結果が良くなかったです
 
mp4ファイルといっても色んな種類が存在する為か
成功する物も稀に在りましたけど
ほとんどが見当違いの所を書き換えしている感が在り
ファイル自体が破壊されましたので書き換え前にはバックアップすることをお勧めします

当たり前なのかも知れませんが
音声フォーマットで高圧縮仕様のHE-AACは100%書換不可能でした


次に手動の物を試してみました
手作業だとMacでバイナリエディタを使用出来るので楽です

手順説明

・動画ファイルをバイナリエディタで開きます
・バイナリエディタファイル内のProfileの書き込まれる前の文字「61 76 63 43 01」を16進検索します
・検索結果の後の文字を希望するProfileとレベルのコードに置き換えて保存する


以下は実際の使用例です

・「61 76 63 43 01」を検索してその後に続く3文字「64 00 1E」がプロファイルとレベルを表しています

「64 00 1E」最初の64 00 は"HighProfile"、1Eは”3.0”です
REGZAはレベル3.2まで対抗している様なので
この場合プロファイルの書き換えのみ必要でレベルの書き換えは不要です
プロファイルの”64 00”のみBaseline Profileの”42 E0”に書き換え保存します
binary(バイナリ)



こちらも、”Baseline”に書き換えの後にProfileを見てみると
今度は”開いたファイルを間違ったか”と思う程一切変化が無くて
Codec profileは”High”のまま
これも書換が失敗した様だと思いました
------
Stream 0
Type: video
Codec: h264
Codec profile: High
FourCC: avc1
Duration: 00:01:00
Width: 640
Height: 360
Sample aspect ratio: 1:1
Display aspect ratio: 16:9
Pixel format: yuv420p
Frame rate: 23.98 fps
Bit rate: 211 kb/s
Meta info:
handler_name: Apple Video Media Handler
creation_time: 2013-02-25 20:13:07
language: eng
-----

しかし使用したこのアプリにはレベル表示が無いので
次にレベル表示があるアプリで再度調べてみると
やはりH.264Profileは”High”のままでLevelも”L3.0”と変更前と一緒でした

やっぱり駄目だったかと思って見ていたら
その下に見慣れない文字が在りました。

”Muxing mode : Container profile=Baseline@3.0”と在り
書き換えた設定がここに在りました

早速REGZAで再生できるかを確認してみると
このモードで”High”の画質のままで再生できることが解りました

ただしPC側のQuickTimeでの再生では
逆にノイズが発生してましたが
他のプレイヤー(VLC2、Movist、MPlayerX)では問題無く再生出来てました

-----
Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.0
Format settings, CABAC : Yes
Format settings, ReFrames : 16 frames
Muxing mode : Container profile=Baseline@3.0
Codec ID (FourCC) : avc1
Duration : 1mn 0s 18ms
Bit rate : 212 Kbps
Width : 640 pixels
Height : 360 pixels
Pixel aspect ratio : 1.000
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
------

しかし偶然REGZAのDLNA接続で
Profileが”High”モードの再生ができる方法を見つけちゃいましたが
これで作って良いものなんでしょうかね

これまで通りm2tsフォーマットでLAN接続HDDで再生した方が楽そうな気がします。
後日m2tsの動画を再生すると
後半に音声が切れている症状が全てのファイルで確認されましたので
全て破棄しいました

何か時間だけが浪費して終わる気がしてきました
というか今の時点で浪費しているんだけどね



追記:
その後この書き換え方法を使用して
Format profileがHigh@L4.2の動画を
Baseline@3.1に変更し東芝REGZA 42Z3 での再生確認ができました

また動画の変換をせずに音声のみ変換し
画像の劣化無しの状態でプロファイル書き換えするだけで
再生可能に出来ることが解り時間節約になりました
Macで動画の画像を無劣化でREGZA用に書き換えする



バイナリエディタ使用の検索置換メモ

検索
61 76 63 43 01

置換
baseline3.0 61 76 63 43 01 42 E0 1E
baseline3.1 61 76 63 43 01 42 E0 1F
baseline3.2 61 76 63 43 01 42 E0 20


Baseline Profile: 61 76 63 43 01 42 E0
MainProfile  : 61 76 63 43 01 4D 40
HighProfile  : 61 76 63 43 01 64 00

Level 1.3 0D
Level 2.1 15
Level 3.0 1E
Level 3.1 1F
Level 3.2 20
Level 4.0 28
Level 4.1 29
Level 4.2 2A
Level 5.1 32
Level 5.2 33
関連記事

最終更新日 : 2020-05-20

Comments

  

業者の方の営利目的の書き込みはご遠慮ください。今後削除させて頂きます