PDA

View Full Version : H264/AAC mp4 file not playing in VLC


dnitin
25th September 2007, 17:08
Hi,
I have multiplexed AAC and H264 streams from RTSP filter into a mp4 file.
The problem is that, when I try to play this mp4 file using the VLC player, I can hear audio for some time, and then the VLC player crashes. I cant see the video.
If convert only the AAC stream from the RTSP filter into a mp4 file, I can hear the audio properly in VLC.
If convert only the H264 stream from the RTSP filter into a mp4 file, VLC crashes.
If I multiplex audio and video, VLC crashes after some time.

The VLC throws out message regarding,
- avcC.
- wrong NAL sizes read,
- non existing PPS referenced
- decode_slice_header error

I have copied the VLC messages below.

The first video frame in the muxed mp4 file starts with start code(0x00000001) followed by SPS code(0x067) and PPS code(0x68). So my guess is that the H264 decoder is getting the SPS and PPS correctly.

Please let me know as to what could the problem be? Is the VLC expecting some more data to be present in the mp4 file?
Thanks in advance


VLC messages:
p4 debug: found Box: avcC size 3584
mp4 debug: read box: "avcC" version=1 profile=0x2 level=0x2 length size=4 sps=1 pps=192
mp4 debug: - sps[0] length=3568
mp4 debug: - pps[0] length=449
mp4 debug: - pps[1] length=0
mp4 debug: - pps[2] length=0
mp4 debug: - pps[3] length=0
mp4 debug: - pps[4] length=0
mp4 debug: - pps[5] length=0
mp4 debug: - pps[6] length=0
mp4 debug: - pps[7] length=0
mp4 debug: - pps[8] length=0
mp4 debug: - pps[9] length=0
mp4 debug: - pps[10] length=0
mp4 debug: - pps[11] length=0
mp4 debug: - pps[12] length=0
mp4 debug: - pps[13] length=0
mp4 debug: - pps[14] length=0
mp4 debug: - pps[15] length=0
mp4 debug: - pps[16] length=0
mp4 debug: - pps[17] length=0
mp4 debug: - pps[18] length=0
mp4 debug: - pps[19] length=0
mp4 debug: - pps[20] length=0
mp4 debug: - pps[21] length=0
mp4 debug: - pps[22] length=0
mp4 debug: - pps[23] length=0
mp4 debug: - pps[24] length=43947
mp4 debug: - pps[25] length=0
mp4 debug: - pps[26] length=0
mp4 debug: - pps[27] length=0
mp4 debug: - pps[28] length=0
mp4 debug: - pps[29] length=0
mp4 debug: - pps[30] length=0
mp4 debug: - pps[31] length=0
mp4 debug: - pps[32] length=0
mp4 debug: - pps[33] length=0
mp4 debug: - pps[34] length=0
mp4 debug: - pps[35] length=0
mp4 debug: - pps[36] length=0
mp4 debug: - pps[37] length=0
mp4 debug: - pps[38] length=0
mp4 debug: - pps[39] length=0
mp4 debug: - pps[40] length=0
mp4 debug: - pps[41] length=0
mp4 debug: - pps[42] length=0
mp4 debug: - pps[43] length=0
mp4 debug: - pps[44] length=0
mp4 debug: - pps[45] length=0
mp4 debug: - pps[46] length=0
mp4 debug: - pps[47] length=0
mp4 debug: - pps[48] length=0
mp4 debug: - pps[49] length=0
mp4 debug: - pps[50] length=0
mp4 debug: - pps[51] length=0
mp4 debug: - pps[52] length=0
mp4 debug: - pps[53] length=0
mp4 debug: - pps[54] length=0
mp4 debug: - pps[55] length=0
mp4 debug: - pps[56] length=0
mp4 debug: - pps[57] length=0
mp4 debug: - pps[58] length=0
mp4 debug: - pps[59] length=0
mp4 debug: - pps[60] length=0
mp4 debug: - pps[61] length=0
mp4 debug: - pps[62] length=0
mp4 debug: - pps[63] length=0
mp4 debug: - pps[64] length=0
mp4 debug: - pps[65] length=0
mp4 debug: - pps[66] length=0
mp4 debug: - pps[67] length=0
mp4 debug: - pps[68] length=0
mp4 debug: - pps[69] length=0
mp4 debug: - pps[70] length=0
mp4 debug: - pps[71] length=0
mp4 debug: - pps[72] length=0
mp4 debug: - pps[73] length=0
mp4 debug: - pps[74] length=0
mp4 debug: - pps[75] length=0
mp4 debug: - pps[76] length=0
mp4 debug: - pps[77] length=0
mp4 debug: - pps[78] length=0
mp4 debug: - pps[79] length=0
mp4 debug: - pps[80] length=0
mp4 debug: - pps[81] length=0
mp4 debug: - pps[82] length=0
mp4 debug: - pps[83] length=0
mp4 debug: - pps[84] length=0
mp4 debug: - pps[85] length=0
mp4 debug: - pps[86] length=0
mp4 debug: - pps[87] length=0
mp4 debug: - pps[88] length=0
mp4 debug: - pps[89] length=0
mp4 debug: - pps[90] length=0
mp4 debug: - pps[91] length=0
mp4 debug: - pps[92] length=0
mp4 debug: - pps[93] length=0
mp4 debug: - pps[94] length=0
mp4 debug: - pps[95] length=0
mp4 debug: - pps[96] length=0
mp4 debug: - pps[97] length=0
mp4 debug: - pps[98] length=0
mp4 debug: - pps[99] length=0
mp4 debug: - pps[100] length=0
mp4 debug: - pps[101] length=0
mp4 debug: - pps[102] length=0
mp4 debug: - pps[103] length=0
mp4 debug: - pps[104] length=0
mp4 debug: - pps[105] length=0
mp4 debug: - pps[106] length=0
mp4 debug: - pps[107] length=0
mp4 debug: - pps[108] length=0
mp4 debug: - pps[109] length=0
mp4 debug: - pps[110] length=0
mp4 debug: - pps[111] length=0
mp4 debug: - pps[112] length=0
mp4 debug: - pps[113] length=0
mp4 debug: - pps[114] length=0
mp4 debug: - pps[115] length=0
mp4 debug: - pps[116] length=0
mp4 debug: - pps[117] length=0
mp4 debug: - pps[118] length=0
mp4 debug: - pps[119] length=0
mp4 debug: - pps[120] length=0
mp4 debug: - pps[121] length=0
mp4 debug: - pps[122] length=0
mp4 debug: - pps[123] length=0
mp4 debug: - pps[124] length=0
mp4 debug: - pps[125] length=0
mp4 debug: - pps[126] length=0
mp4 debug: - pps[127] length=0
mp4 debug: - pps[128] length=0
mp4 debug: - pps[129] length=0
mp4 debug: - pps[130] length=0
mp4 debug: - pps[131] length=0
mp4 debug: - pps[132] length=0
mp4 debug: - pps[133] length=0
mp4 debug: - pps[134] length=0
mp4 debug: - pps[135] length=0
mp4 debug: - pps[136] length=0
mp4 debug: - pps[137] length=0
mp4 debug: - pps[138] length=0
mp4 debug: - pps[139] length=0
mp4 debug: - pps[140] length=0
mp4 debug: - pps[141] length=0
mp4 debug: - pps[142] length=0
mp4 debug: - pps[143] length=0
mp4 debug: - pps[144] length=0
mp4 debug: - pps[145] length=0
mp4 debug: - pps[146] length=0
mp4 debug: - pps[147] length=0
mp4 debug: - pps[148] length=0
mp4 debug: - pps[149] length=0
mp4 debug: - pps[150] length=0
mp4 debug: - pps[151] length=0
mp4 debug: - pps[152] length=0
mp4 debug: - pps[153] length=0
mp4 debug: - pps[154] length=0
mp4 debug: - pps[155] length=0
mp4 debug: - pps[156] length=0
mp4 debug: - pps[157] length=0
mp4 debug: - pps[158] length=0
mp4 debug: - pps[159] length=0
mp4 debug: - pps[160] length=0
mp4 debug: - pps[161] length=0
mp4 debug: - pps[162] length=0
mp4 debug: - pps[163] length=0
mp4 debug: - pps[164] length=0
mp4 debug: - pps[165] length=0
mp4 debug: - pps[166] length=0
mp4 debug: - pps[167] length=0
mp4 debug: - pps[168] length=0
mp4 debug: - pps[169] length=0
mp4 debug: - pps[170] length=0
mp4 debug: - pps[171] length=0
mp4 debug: - pps[172] length=0
mp4 debug: - pps[173] length=0
mp4 debug: - pps[174] length=0
mp4 debug: - pps[175] length=0
mp4 debug: - pps[176] length=0
mp4 debug: - pps[177] length=0
mp4 debug: - pps[178] length=0
mp4 debug: - pps[179] length=0
mp4 debug: - pps[180] length=0
mp4 debug: - pps[181] length=0
mp4 debug: - pps[182] length=0
mp4 debug: - pps[183] length=0
mp4 debug: - pps[184] length=0
mp4 debug: - pps[185] length=0
mp4 debug: - pps[186] length=0
mp4 debug: - pps[187] length=0
mp4 debug: - pps[188] length=0
mp4 debug: - pps[189] length=0
mp4 debug: - pps[190] length=0
mp4 debug: - pps[191] length=0
mp4 warning: Not enough data
mp4 debug: out of bound child
mp4 debug: read box: "vide" in stsd 352x240 depth 24
mp4 debug: out of bound child
mp4 debug: read box: "stsd" entry-count 1
mp4 debug: found Box: stts size 10096
mp4 debug: read box: "stts" entry-count 1260
mp4 debug: found Box: stsc size 28
mp4 debug: read box: "stsc" entry-count 1
mp4 debug: found Box: stsz size 5228
mp4 debug: read box: "stsz" sample-size 0 sample-count 1302
message warning: message queue overflowed
ffmpeg warning: AVC: Consumed only 49 bytes instead of 17369352
(h264@00C13E50)
ffmpeg warning: Unknown NAL code: 28
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (58 bytes)
ffmpeg warning: AVC: nal size -1707066390
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (1473 bytes)
ffmpeg warning: AVC: Consumed only 49 bytes instead of 17369352
(h264@00C13E50)
ffmpeg warning: Unknown NAL code: 29
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (58 bytes)
ffmpeg warning: AVC: nal size -1704969238
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (1948 bytes)
ffmpeg warning: AVC: Consumed only 49 bytes instead of 17369352
(h264@00C13E50)
ffmpeg warning: Unknown NAL code: 0
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (58 bytes)
ffmpeg warning: AVC: nal size -1702872076
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (1699 bytes)
ffmpeg warning: AVC: Consumed only 49 bytes instead of 17369352
(h264@00C13E50)
ffmpeg warning: non existing PPS referenced
(h264@00C13E50)
ffmpeg warning: decode_slice_header error
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (58 bytes)
ffmpeg warning: AVC: nal size -1700774967
(h264@00C13E50)
ffmpeg warning: cannot decode one frame (1892 bytes)
ffmpeg warning: AVC: Consumed only 49 bytes instead of 17369352
(h264@00C13E50)
ffmpeg warning: non existing PPS referenced
(h264@00C13E50)
ffmpeg warning: decode_slice_header error
(h264@00C13E50)

Any technical help will be appreciated.

taklubaba
28th September 2007, 08:41
Hi,
I have generated an mp4 file having h264/aac.
When I connect it to a mp4 demux in graph edit, the output pin of demux filter shows only AVC output. It does not show the AAC audio output pin, even though the mp4 file has both audio and video.

If I try connecting another mp4 file downloaded from the web, to the mp4 demux in graph edit, the output pins of the demux filter shows both AVC and AAC.

Please let me know, what could be the problem.
Thanks in advance.

Kurtnoise
28th September 2007, 09:54
which mp4 demuxer filter did you use ?

taklubaba
28th September 2007, 10:17
i have used a GDCL demuxer, which is free source.

Kurtnoise
28th September 2007, 11:57
try with the Haali splitter...

bond
28th September 2007, 20:05
and make sure your file is not fu**ed up

bond
28th September 2007, 20:07
are you sure that the video stream uses only coding features supported by vlc, eg no paff?

are you sure that your "avc-rtsp->mp4" writer writes correct mp4 files and avc streams?

it seems it does not

taklubaba
5th October 2007, 18:15
Hi,

I have uploaded the mp4 file(gmbc1.zip) that I have muxed from h264 and aac streams.
Opening it with atomic browser, shows that video frames start codes 00000167 etc.
Do the start codes need to be there in the mp4 file?
The avcC box looks messed up.
Can someone suggest, where it is going wrong?
Any help is appreciated.

taklubaba
5th October 2007, 18:23
Hi,
I have attached a mp4 file which has been muxed from a h264,mp4 stream. While rendering it on Graph Edit, MP4 splitter shows only the AAC output pin, even though video data is also present.
Does the graph edit expect some more information/atoms?
Thanks.

foxyshadis
5th October 2007, 22:55
"Haali Media Splitter: MP4: Could not find avcC box."

bond
6th October 2007, 14:52
your files are b0rked, but i dont know what exactly is the reason. maybe the avcc?

either way your mp4 tool doesnt seem to write correct mp4 files. what tool are you using?

merged with the other thread which seems to be exactly the same issue

taklubaba
6th October 2007, 20:40
Thank You for your replies, Bond, foxyshadis, Kurtnoise13...


I had attached 2 files. One with avcC and the other one without...

The one without avcC plays with the VLC player.
But the one with avcC does not play with the VLC player, even though the video and audio data are the same in both the files.
They give the same VLC errors as what another user 'dnitin' got..

ie
"
- avcC.
- wrong NAL sizes read,
- non existing PPS referenced
- decode_slice_header error
"

should the start codes 0x0000000167, and 0x0000000168 be there in a mp4 file in the first place?
how should the avcC be written.
Can somebody throw some light on this? I am stuck with this issue for some time now...

I have used GDCL muxer/demuxer which is free source.

bond
7th October 2007, 09:52
i have used GDCL muxer/demuxer which is free source.did you contact the gdcl developer about this issue?

taklubaba
7th October 2007, 17:08
Yes. Waiting for his suggestions too :)