[Live-devel] testH264Videostreamer to VLC crashes the VLC player
Ross Finlayson
finlayson at live555.com
Mon Jan 17 02:20:26 PST 2011
>the 5MB sequence can be downloaded here:
>https://storageuk11.transferbigfiles.com/files/7e481a21-566f-4584-84b5-4c4c48145c9c?rid=2MTttgc0mbrtXQ1k0Nxuqw%3d%3d
Thanks.
>as you probably know the files test.264 must be renamed test.h264 to
>be played on VLC and it plays fine.
>When I stream the file with testH264Video streamer, on the contrary,
>VLC con't decode it (not always sometimes it do it).
I turned on the debugging code in
"liveMedia/H264VideoStreamFramer.cpp" (by adding "#define DEBUG 1"),
to see how it was interpreting the file. The problem, I think,
arises from the fact that the SPS ("Sequence Parameter Set") NAL unit
in your file is rather unusual (e.g. it includes a "scaling_list").
Our code is supposed to be able to parse this SPS NAL unit, but I
think there might be a bug somewhere in our parser, because it ends
up deducing that "time_scale" is 150, giving a frame rate of 75 fps,
which - I think - is 3 times too high.
Unfortunately it wasn't immediately obvious to me where there might
be a bug in our H.264 SPS parsing code, so I'm going to have to ask
you (and/or anyone else who might be familiar with the H.264 SPS
syntax) to take a look at the code
("liveMedia/H264VideoStreamFramer.cpp"), and see if you can see a
problem.
FYI, the debugging output from parsing the SPS NAL unit is as follows:
----------
Parsed 116-byte NAL-unit (nal_ref_idc: 3, nal_unit_type: 7 ("Sequence
parameter set"))
profile_idc: 100
constraint_setN_flag: 0
level_idc: 40
seq_parameter_set_id: 0
chroma_format_idc: 1
seq_scaling_matrix_present_flag: 1
i: 0
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 1
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 2
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 3
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 4
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 5
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 9
lastScale: 32
j: 2
nextScale: 32
delta_scale: 0
lastScale: 32
j: 3
nextScale: 32
delta_scale: 9
lastScale: 41
j: 4
nextScale: 41
delta_scale: 0
lastScale: 41
j: 5
nextScale: 41
delta_scale: 0
lastScale: 41
j: 6
nextScale: 41
delta_scale: 9
lastScale: 50
j: 7
nextScale: 50
delta_scale: 0
lastScale: 50
j: 8
nextScale: 50
delta_scale: 0
lastScale: 50
j: 9
nextScale: 50
delta_scale: 0
lastScale: 50
j: 10
nextScale: 50
delta_scale: 9
lastScale: 59
j: 11
nextScale: 59
delta_scale: 0
lastScale: 59
j: 12
nextScale: 59
delta_scale: 0
lastScale: 59
j: 13
nextScale: 59
delta_scale: 9
lastScale: 68
j: 14
nextScale: 68
delta_scale: 0
lastScale: 68
j: 15
nextScale: 68
delta_scale: 13
lastScale: 81
i: 6
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 3
lastScale: 26
j: 2
nextScale: 26
delta_scale: 0
lastScale: 26
j: 3
nextScale: 26
delta_scale: 3
lastScale: 29
j: 4
nextScale: 29
delta_scale: 4
lastScale: 33
j: 5
nextScale: 33
delta_scale: 3
lastScale: 36
j: 6
nextScale: 36
delta_scale: 3
lastScale: 39
j: 7
nextScale: 39
delta_scale: 0
lastScale: 39
j: 8
nextScale: 39
delta_scale: 0
lastScale: 39
j: 9
nextScale: 39
delta_scale: 0
lastScale: 39
j: 10
nextScale: 39
delta_scale: 3
lastScale: 42
j: 11
nextScale: 42
delta_scale: 0
lastScale: 42
j: 12
nextScale: 42
delta_scale: 0
lastScale: 42
j: 13
nextScale: 42
delta_scale: 0
lastScale: 42
j: 14
nextScale: 42
delta_scale: 0
lastScale: 42
j: 15
nextScale: 42
delta_scale: 3
lastScale: 45
j: 16
nextScale: 45
delta_scale: 0
lastScale: 45
j: 17
nextScale: 45
delta_scale: 0
lastScale: 45
j: 18
nextScale: 45
delta_scale: 0
lastScale: 45
j: 19
nextScale: 45
delta_scale: 0
lastScale: 45
j: 20
nextScale: 45
delta_scale: 0
lastScale: 45
j: 21
nextScale: 45
delta_scale: 3
lastScale: 48
j: 22
nextScale: 48
delta_scale: 0
lastScale: 48
j: 23
nextScale: 48
delta_scale: 0
lastScale: 48
j: 24
nextScale: 48
delta_scale: 0
lastScale: 48
j: 25
nextScale: 48
delta_scale: 0
lastScale: 48
j: 26
nextScale: 48
delta_scale: 0
lastScale: 48
j: 27
nextScale: 48
delta_scale: 0
lastScale: 48
j: 28
nextScale: 48
delta_scale: 3
lastScale: 51
j: 29
nextScale: 51
delta_scale: 0
lastScale: 51
j: 30
nextScale: 51
delta_scale: 0
lastScale: 51
j: 31
nextScale: 51
delta_scale: 0
lastScale: 51
j: 32
nextScale: 51
delta_scale: 0
lastScale: 51
j: 33
nextScale: 51
delta_scale: 0
lastScale: 51
j: 34
nextScale: 51
delta_scale: 0
lastScale: 51
j: 35
nextScale: 51
delta_scale: 0
lastScale: 51
j: 36
nextScale: 51
delta_scale: 3
lastScale: 54
j: 37
nextScale: 54
delta_scale: 0
lastScale: 54
j: 38
nextScale: 54
delta_scale: 0
lastScale: 54
j: 39
nextScale: 54
delta_scale: 0
lastScale: 54
j: 40
nextScale: 54
delta_scale: 0
lastScale: 54
j: 41
nextScale: 54
delta_scale: 0
lastScale: 54
j: 42
nextScale: 54
delta_scale: 0
lastScale: 54
j: 43
nextScale: 54
delta_scale: 3
lastScale: 57
j: 44
nextScale: 57
delta_scale: 0
lastScale: 57
j: 45
nextScale: 57
delta_scale: 0
lastScale: 57
j: 46
nextScale: 57
delta_scale: 0
lastScale: 57
j: 47
nextScale: 57
delta_scale: 0
lastScale: 57
j: 48
nextScale: 57
delta_scale: 0
lastScale: 57
j: 49
nextScale: 57
delta_scale: 3
lastScale: 60
j: 50
nextScale: 60
delta_scale: 0
lastScale: 60
j: 51
nextScale: 60
delta_scale: 0
lastScale: 60
j: 52
nextScale: 60
delta_scale: 0
lastScale: 60
j: 53
nextScale: 60
delta_scale: 0
lastScale: 60
j: 54
nextScale: 60
delta_scale: 5
lastScale: 65
j: 55
nextScale: 65
delta_scale: 0
lastScale: 65
j: 56
nextScale: 65
delta_scale: 0
lastScale: 65
j: 57
nextScale: 65
delta_scale: 0
lastScale: 65
j: 58
nextScale: 65
delta_scale: 5
lastScale: 70
j: 59
nextScale: 70
delta_scale: 0
lastScale: 70
j: 60
nextScale: 70
delta_scale: 0
lastScale: 70
j: 61
nextScale: 70
delta_scale: 5
lastScale: 75
j: 62
nextScale: 75
delta_scale: 0
lastScale: 75
j: 63
nextScale: 75
delta_scale: 5
lastScale: 80
i: 7
seq_scaling_list_present_flag: 1
j: 0
nextScale: 8
delta_scale: 15
lastScale: 23
j: 1
nextScale: 23
delta_scale: 3
lastScale: 26
j: 2
nextScale: 26
delta_scale: 0
lastScale: 26
j: 3
nextScale: 26
delta_scale: 3
lastScale: 29
j: 4
nextScale: 29
delta_scale: 4
lastScale: 33
j: 5
nextScale: 33
delta_scale: 3
lastScale: 36
j: 6
nextScale: 36
delta_scale: 3
lastScale: 39
j: 7
nextScale: 39
delta_scale: 0
lastScale: 39
j: 8
nextScale: 39
delta_scale: 0
lastScale: 39
j: 9
nextScale: 39
delta_scale: 0
lastScale: 39
j: 10
nextScale: 39
delta_scale: 3
lastScale: 42
j: 11
nextScale: 42
delta_scale: 0
lastScale: 42
j: 12
nextScale: 42
delta_scale: 0
lastScale: 42
j: 13
nextScale: 42
delta_scale: 0
lastScale: 42
j: 14
nextScale: 42
delta_scale: 0
lastScale: 42
j: 15
nextScale: 42
delta_scale: 3
lastScale: 45
j: 16
nextScale: 45
delta_scale: 0
lastScale: 45
j: 17
nextScale: 45
delta_scale: 0
lastScale: 45
j: 18
nextScale: 45
delta_scale: 0
lastScale: 45
j: 19
nextScale: 45
delta_scale: 0
lastScale: 45
j: 20
nextScale: 45
delta_scale: 0
lastScale: 45
j: 21
nextScale: 45
delta_scale: 3
lastScale: 48
j: 22
nextScale: 48
delta_scale: 0
lastScale: 48
j: 23
nextScale: 48
delta_scale: 0
lastScale: 48
j: 24
nextScale: 48
delta_scale: 0
lastScale: 48
j: 25
nextScale: 48
delta_scale: 0
lastScale: 48
j: 26
nextScale: 48
delta_scale: 0
lastScale: 48
j: 27
nextScale: 48
delta_scale: 0
lastScale: 48
j: 28
nextScale: 48
delta_scale: 3
lastScale: 51
j: 29
nextScale: 51
delta_scale: 0
lastScale: 51
j: 30
nextScale: 51
delta_scale: 0
lastScale: 51
j: 31
nextScale: 51
delta_scale: 0
lastScale: 51
j: 32
nextScale: 51
delta_scale: 0
lastScale: 51
j: 33
nextScale: 51
delta_scale: 0
lastScale: 51
j: 34
nextScale: 51
delta_scale: 0
lastScale: 51
j: 35
nextScale: 51
delta_scale: 0
lastScale: 51
j: 36
nextScale: 51
delta_scale: 3
lastScale: 54
j: 37
nextScale: 54
delta_scale: 0
lastScale: 54
j: 38
nextScale: 54
delta_scale: 0
lastScale: 54
j: 39
nextScale: 54
delta_scale: 0
lastScale: 54
j: 40
nextScale: 54
delta_scale: 0
lastScale: 54
j: 41
nextScale: 54
delta_scale: 0
lastScale: 54
j: 42
nextScale: 54
delta_scale: 0
lastScale: 54
j: 43
nextScale: 54
delta_scale: 3
lastScale: 57
j: 44
nextScale: 57
delta_scale: 0
lastScale: 57
j: 45
nextScale: 57
delta_scale: 0
lastScale: 57
j: 46
nextScale: 57
delta_scale: 0
lastScale: 57
j: 47
nextScale: 57
delta_scale: 0
lastScale: 57
j: 48
nextScale: 57
delta_scale: 0
lastScale: 57
j: 49
nextScale: 57
delta_scale: 3
lastScale: 60
j: 50
nextScale: 60
delta_scale: 0
lastScale: 60
j: 51
nextScale: 60
delta_scale: 0
lastScale: 60
j: 52
nextScale: 60
delta_scale: 0
lastScale: 60
j: 53
nextScale: 60
delta_scale: 0
lastScale: 60
j: 54
nextScale: 60
delta_scale: 5
lastScale: 65
j: 55
nextScale: 65
delta_scale: 0
lastScale: 65
j: 56
nextScale: 65
delta_scale: 0
lastScale: 65
j: 57
nextScale: 65
delta_scale: 0
lastScale: 65
j: 58
nextScale: 65
delta_scale: 5
lastScale: 70
j: 59
nextScale: 70
delta_scale: 0
lastScale: 70
j: 60
nextScale: 70
delta_scale: 0
lastScale: 70
j: 61
nextScale: 70
delta_scale: 5
lastScale: 75
j: 62
nextScale: 75
delta_scale: 0
lastScale: 75
j: 63
nextScale: 75
delta_scale: 5
lastScale: 80
log2_max_frame_num_minus4: 0
pic_order_cnt_type: 2
max_num_ref_frames: 2
gaps_in_frame_num_value_allowed_flag: 0
pic_width_in_mbs_minus1: 44
pic_height_in_map_units_minus1: 17
frame_mbs_only_flag: 0
frame_cropping_flag: 0
vui_parameters_present_flag: 1
BEGIN vui_parameters
aspect_ratio_info_present_flag: 1
aspect_ratio_idc: 1
overscan_info_present_flag: 0
video_signal_type_present_flag: 1
colour_description_present_flag: 0
chroma_loc_info_present_flag: 0
timing_info_present_flag: 1
num_units_in_tick: 1
time_scale: 150
fixed_frame_rate_flag: 0
Set frame rate to 75.000000 fps
WARNING: "fixed_frame_rate_flag" was not set
----------
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list