2017-12-27 46 views
0

RTP에서 새로운 기능입니다. 내가 임베디드 장치에서 RTSP 서버를 시작하고 싶다. 이제 플래시 메모리에 저장된 비디오 파일을 부화 할 수 있습니다. 그러나 비디오를 번역 할 때 인코딩 된 whith x264를 시작할 때 VLC는 아무 것도 표시하지 않습니다. 와이어 샤크는VLC가 RTP 스트림을 표시하지 않는 이유

SPS의 PPS는

1... .... = pic_parameter_set_id: 0 
    .1.. .... = seq_parameter_set_id: 0 
    ..0. .... = entropy_coding_mode_flag: 0 
    ...0 .... = pic_order_present_flag: 0 
    .... 1... = num_slice_groups_minus1: 0 
    .... .1.. = num_ref_idx_l0_active_minus1: 0 
    .... ..1. = num_ref_idx_l1_active_minus1: 0 
    .... ...0 = weighted_pred_flag: 0 
    00.. .... = weighted_bipred_idc: 0 
    ..00 0010 110. .... = pic_init_qp_minus26(se(v)): 11 
    ...1 .... = pic_init_qs_minus26: 0 
    .... 1... = chroma_qp_index_offset: 0 
    .... .1.. = deblocking_filter_control_present_flag: 1 
    .... ..0. = constrained_intra_pred_flag: 0 
    .... ...0 = redundant_pic_cnt_present_flag: 0 
    1... .... = rbsp_stop_bit: 1 
    .000 0000 = rbsp_trailing_bits: 0 

슬라이스

1111 0100 = Profile_idc: Unknown (244) 
0... .... = Constraint_set0_flag: 0 
.0.. .... = Constraint_set1_flag: 0 
..0. .... = Constraint_set2_flag: 0 
...0 .... = Constraint_set3_flag: 0 
.... 0... = Constraint_set4_flag: 0 
.... .0.. = Constraint_set5_flag: 0 
.... ..00 = Reserved_zero_2bits: 0 
0000 1101 = Level_id: 13 [Level 1.3 768 kb/s] 
1... .... = seq_parameter_set_id: 0 
.001 00.. = log2_max_frame_num_minus4: 3 
.... ..01 1... .... = pic_order_cnt_type: 2 
.001 01.. = num_ref_frames: 4 
.... ..1. = gaps_in_frame_num_value_allowed_flag: 1 
.... ...0 10.. .... = pic_width_in_mbs_minus1: 1 
..00 0001 0100 0... = pic_height_in_map_units_minus1: 39 
.... .0.. = frame_mbs_only_flag: 0 
.... ..0. = mb_adaptive_frame_field_flag: 0 
.... ...1 = direct_8x8_inference_flag: 1 
1... .... = frame_cropping_flag: 1 
.1.. .... = frame_crop_left_offset: 0 
..1. .... = frame_crop_left_offset: 0 
...1 .... = frame_crop_top_offset: 0 
.... 1... = frame_crop_bottom_offset: 0 
.... .0.. = vui_parameters_present_flag: 0 
.... ..1. = rbsp_stop_bit: 1 
.... ...0 = rbsp_trailing_bits: 0 

슬라이스 및 SEI

012,391,303,693,544,528,736에게 덤프입니다 그냥 버퍼링, 아무것도

core debug: `rtsp://172.16.50.194:1935/live1.sdp' successfully opened 
core debug: Buffering 0% 
packetizer_h264 debug: found NAL_SPS (sps_id=0) 
core debug: Stream buffering done (11 ms in 133 ms) 
core debug: Decoder wait done in 0 ms 
packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0) 
core error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 30 ms) 
core error: ES_OUT_RESET_PCR called 
core debug: Buffering 0% 
core debug: Buffering 0% 
core debug: Buffering 0% 
core debug: Stream buffering done (111 ms in 706 ms) 
core debug: Decoder wait done in 0 ms 
core error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 594 ms) 
core error: ES_OUT_RESET_PCR called 
core debug: Buffering 0% 
... 
core debug: Buffering 0% 
live555 warning: no data received in 10s, eof ? 
core debug: EOF reached 

내 실수 일 수 있습니까?

답변

0

RTSP는 TCP를 사용하여 연결을 설정합니다. 이는 귀하의 경우에 효과가있는 것으로 보입니다.

RTP는 UDP를 사용하여 오디오 및 비디오를 보내야합니다. 이는 귀하의 경우에 실패한 것으로 보입니다.

core debug: Buffering 0% 
live555 warning: no data received in 10s, eof ? 

임베디드 장치는 VLC로 UDP 패킷을 보내야합니다. Wireshark를 사용하여 임베디드 장치에서 VLC 로의 UDP 트래픽이 보입니까?

SPS 및 PPS NAL 장치는 RTSP 기반 설치 프로세스의 일부입니다.

+0

나는 그것을 알고 있으며 UDP를 사용하여 데이터를 보냅니다. 파이썬에서 RTP 패킷 (UDP)에서 원시 .h264 비디오 파일로 데이터를 수집하고 VLC에서 비디오를 볼 수있는 스크립트를 만들었습니다. 왜 VLC에서 데이터를 볼 수 없습니까? RTSP에 설정된 UDP 포트를 확인합니다. 올바른 것입니다. –

+0

해상도와 프레임 속도를 낮춰보십시오. 일부 패킷 손실이있을 수 있습니다. –

+0

wiresharck에서 잃어 버리지 않는 것을 봅니다. 각 패킷을 70ms마다 보내고 NAL 단위 (새 IDR 슬라이스)를 500ms마다 작성하고 타임 스탬프 1 (1000 * 90000, 주파수 H264/90000)을 설정합니다. 어쩌면 너무 느릴까요? –