※ ChatGPTを利用し、要約された質問です(原文:MP4BOXを使ってDEMUX→MUXの際AAC音声に問題)
MP4BOXを使ってDEMUX→MUXの際AAC音声に問題
このQ&Aのポイント
MP4BOXを使ってDEMUX→MUXする際に、AAC音声のTimeScaleとDurationがおかしくなり、時間が約3倍になるという問題が発生しています。
映像の側には対処法が見つかりますが、音声の側には情報がなく困っています。
また、素材MP4ファイルの情報と、変換後のMP4ファイルの情報を比較しても、重要な相違点が見つかります。
MP4BOXを使ってDEMUX→MUXの際AAC音声に問題
素材mp4形式ムービーファイルがある
1.mp4boxでDEMUX
2.映像を縮小再エンコーディング
3.2で再エンコーディングした映像と、1で取り出した音声をMUX
ここで、音声のTimeScale ・ Durationがおかしくなり、およそ3倍の時間に変化してしまうという状態です。
映像の方ですとFPS指定などで強制する手段があるようですし、WEBで検索した資料でもそちらの対処法は見つかりました。
しかし今回は映像の側は正しく、音声の側がおかしいという状態で資料がなく困っております。
下記に、元mp4の作成概略と、今回の変換、およびmp4box -infoによる状況を記します。
改善点などの指摘がありましたらよろしくお願いします。
(映像側は問題ないので、主に音声に関する部分のみを記載します)
==以下資料==
※MP4BOXのバージョン
MP4Box - GPAC version 0.4.5 (build 33 - Dec 11 2008) - compiled by Kurtnoise
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
※元mp4ファイル作成時
NeroAACEnc 付加したオプション -br 128000 -lc -ignorelength
mp4boxにてmp4コンテナに収める
MP4Box.exe -add "(入力映像ファイル):fps=30"#video -add "(入力音声ファイル)"#audio -new (出力MP4ファイル)
※縮小再エンコーディング前のDEMUX
MP4Box.exe -raw 2 (分離音声ファイル)
この時点のxxxx_track2.aacは正常に再生可能
※再MUX
MP4Box.exe -add "(再エンコード映像ファイル):fps=30"#video -add "(分離音声ファイル)"#audio -new (出力MP4ファイル)
また、xxxx_track2.aacを一回mp4コンテナに収めてから上記作業を行っても同じ状況になります。
ともかくMP4Boxで分離したaac(rawデータ)をmp4コンテナに収める段階で不具合が発生している模様です。
※素材MP4ファイルのmp4box -info出力。(注:重要な相違点に『』を付加しています)
* Movie Info *
Timescale 600 - Duration 00:00:14.303
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: GMT Mon Jan 12 02:13:13 2009
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Chapters:
Chapter #1 - 00:00:14.293 - ""
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:14.266
Media Info: Language "Undetermined" - Type "vide:avc1" - 428 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 1024 x 768 - Profile High @ Level 4
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 1024 x 768
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 『96000』 - Duration 『00:00:14.304』
Media Info: Language "Undetermined" - Type "soun:mp4a" - 1341 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 96000
Synchronized on stream 1
※結果MP4ファイルのmp4box -info出力。(注:重要な相違点に『』を付加しています)
* Movie Info *
Timescale 600 - Duration 00:00:45.075
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: GMT Sat Jan 31 02:37:39 2009
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:14.300
Media Info: Language "Undetermined" - Type "vide:avc1" - 429 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 360 x 272 - Profile Main @ Level 3
NAL Unit length bits: 32
Pixel Aspect Ratio 136:135 - Indicated track size 362 x 272
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 『30464』 - Duration 『00:00:45.075』
Media Info: Language "Undetermined" - Type "soun:mp4a" - 1341 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 96000
Synchronized on stream 1
注:映像を納めず、音声aac(raw)データをMP4コンテナに収めただけでも同じ症状になります。
お礼
明確な回答ありがとうございます。 今晩にでもこちらの対処を試してみようと思います。
補足
すみませんお礼返答の順番を間違えてしまいました。 こちらはお礼文に対する補足となります。 試してみたところ無事動作を確認いたしました。 貴重な情報ありがとうございました。