2017-04-12 25 views
0

ffmpeg、MP4Box、およびMPEG-DASHを学習しようとしていますが、使用している.mp4の問題が発生しています。二つのファイルが作成されると、私はこのコマンドを使用してダッシュプレーヤーのセグメントにファイルをMP4Boxを使用MPEG-DASH - 多重表現問題

ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy audio.mp4 

:私は、このコマンドを使用して、MP4デマルチプレクサするためのffmpegを使用してい

MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4 

をどの私が必要と思うすべてのファイルを作成します。その後、私はoutput_dash.mpdにプレーヤーを指し、何もコンソール内のメッセージのトンを除いて起こりません:

* Movie Info * 
    Timescale 1000 - Duration 00:02:28.336 
    Fragmented File no - 2 track(s) 
    File suitable for progressive download (moov before mdat) 
    File Brand mp42 - version 512 
    Created: GMT Wed Feb 6 06:28:16 2036 

File has root IOD (9 bytes) 
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff 
Visual PL: Not part of MPEG-4 Visual profiles (0xfe) 
Audio PL: Not part of MPEG-4 audio profiles (0xfe) 
No streams included in root OD 

iTunes Info: 
    Name: Rogue One - A Star Wars Story 
    Artist: Lucasfilm 
    Genre: Trailer 
    Created: 2016 
    Encoder Software: HandBrake 0.10.2 2015060900 
    Cover Art: JPEG File 

Track # 1 Info - TrackID 1 - TimeScale 90000 - Duration 00:02:28.335 
Media Info: Language "Undetermined" - Type "vide:avc1" - 3552 samples 
Visual Track layout: x=0 y=0 width=1920 height=816 
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21 
AVC/H264 Video - Visual Size 1920 x 816 
    AVC Info: 1 SPS - 1 PPS - Profile High @ Level 4.1 
    NAL Unit length bits: 32 
    Pixel Aspect Ratio 1:1 - Indicated track size 1920 x 816 
Self-synchronized 

Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:02:28.305 
Media Info: Language "English" - Type "soun:mp4a" - 6387 samples 
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40 
MPEG-4 Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100 
Synchronized on stream 1 
Alternate Group ID 1 

:ここ

[8] EME detected on this user agent! (ProtectionModel_21Jan2015) 
[11] Playback Initialized 
[21] [dash.js 2.3.0] MediaPlayer has been initialized 
[64] Parsing complete: (xml2json: 3.42ms, objectiron: 2.61ms, total: 0.00603s) 
[65] Manifest has been refreshed at Wed Apr 12 2017 12:16:52 GMT-0600 (MDT)[1492021012.196] 
[72] MediaSource attached to element. Waiting on open... 
[77] MediaSource is open! 
[77] Duration successfully set to: 148.34 
[78] Added 0 inline events 
[78] No video data. 
[79] No audio data. 
[79] No text data. 
[79] No fragmentedText data. 
[79] No embeddedText data. 
[80] Multiplexed representations are intentionally not supported, as they are not compliant with the DASH-AVC/264 guidelines 
[81] No streams to play. 

ビデオに私が使用している-info MP4Boxであります私はビデオとオーディオを分離する必要があることを知っています、そして、私はそれが私の問題がどこにあるのかと思います。私が使用しているコマンドは、おそらく正しいことをしていません。

私のmp4を逆多重化するより良いコマンドがありますか? MP4Boxコマンドは、ファイルのセグメント分けに最適ですか? 私は別のファイルを使用する場合、それらはいつも分離される必要がありますか?

ffmpeg -i test.mp4 -c:v copy -g 72 -an output.mp4 

MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ output.mp4 

UPDATE

私が気づい:

ことの一つは、私は次のコマンドを使用している場合、すべてが正常に動作しますが、理由はそれを意味のオーディオがない唯一のビデオだ、言うまでもビデオにはオーディオストリームはありませんでしたが、オーディオにビデオストリームが含まれていたので、muxエラーが発生しました。その後、

ffmpeg -i test.mp4 -c:v copy -g 72 -an video.mp4 -c:a copy -vn audio.mp4 

私が実行します:私は、出力のうち、不要な流れを維持するには、このコマンドを実行したので、それは問題になるかもしれないと思った

MP4Box -dash 4000 -frag 1000 -rap -segment-name segment_ video.mp4 audio.mp4 

今私はもはや多重表現が意図的にしている取得しません...メッセージをサポートしますが、今、私は取得していない:

[122] Video Element Error: MEDIA_ERR_SRC_NOT_SUPPORTED 
[123] [object MediaError] 
[125] Schedule controller stopping for audio 
[126] Caught pending play exception - continuing (NotSupportedError: Failed to load because no supported source was found.) 

私だけではないダッシュプレーヤーで、Chromeと彼らは両方の仕事を通じて独立して映像と音声を再生してみました。うわー、これは学ぶのは痛いですが、私は進歩しているように感じます。

答えて

0

私はBento4に行くことになった。なぜ私はMP4Boxを動作させることができなかったのか分かりませんが、Bento4は非常に簡単に働き、数時間内に私を連れて行きました。

0

あなたは良いプロフィールを使用していません。ログを考慮して、あなたはdash-ifプレーヤーを使用していると思います。その場合、あなたは、このコマンドを使用する必要があります。

MP4Box -dash 4000 -frag 1000年-profile dashavc264:オンデマンド-rap -segment名segment_ output.mp4