Page 1 of 1

Can't play h264 files throung rtsp/rtp.

Posted: 31 Mar 2007 18:47
by ballofking
Hi,
I open two VLC media player for testing to play h264 files throung rtsp/rtp.One is streaming server by choosing rtp protocol.The order one is for receiving the streaming by chooseing UDP/RTP.
I have tested vlc-0.8.4a and vlc-0.8.6a.When i used vlc-0.8.4a,the client just can receive the first frame then the error messages is like below.
  • main debug: creating new input thread
    main debug: waiting for thread completion
    main debug: `udp://127.0.0.1@' gives access `udp' demux `' path `127.0.0.1@'
    main debug: creating demux: access='udp' demux='' path='127.0.0.1@'
    main debug: looking for access_demux module: 0 candidates
    main debug: thread 3888 (input) created at priority 1 (src/input/input.c:230)
    main warning: no access_demux module matched "udp"
    main debug: creating access 'udp' path='127.0.0.1@'
    main debug: looking for access2 module: 6 candidates
    access_udp debug: opening server=127.0.0.1:0 local=:1234
    main debug: net: connecting to '[127.0.0.1]:0@[]:1234'
    main debug: looking for network module: 1 candidate
    ipv6 warning: cannot create socket (Winsock error 10047)
    main debug: using network module "ipv6"
    main debug: unlocking module "ipv6"
    main debug: looking for network module: 1 candidate
    main debug: using network module "ipv4"
    main debug: unlocking module "ipv4"
    main debug: using access2 module "access_udp"
    main debug: pre buffering
    access_udp debug: detected TS over RTP
    access_udp debug: RTP: prebuffered 20 packets
    main debug: creating demux: access='udp' demux='ts' path='127.0.0.1@'
    main debug: looking for demux2 module: 1 candidate
    main debug: using demux2 module "ts"
    ts debug: DEMUX_SET_GROUP 0 00000000
    access_udp warning: unimplemented query in control
    main debug: `udp://127.0.0.1@' successfully opened
    ts debug: PATCallBack called
    ts debug: new PAT ts_id=4150 version=4 current_next=1
    ts debug: * number=1 pid=66
    ts debug: PMTCallBack called
    ts debug: new PMT program number=1 version=26 pid_pcr=68
    ts debug: * es pid=68 type=27 fcc=h264
    main debug: selecting program id=1
    main debug: looking for decoder module: 26 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: ffmpeg codec (h264) started
    main debug: using decoder module "ffmpeg"
    main debug: looking for packetizer module: 17 candidates
    main debug: using packetizer module "packetizer_h264"
    main debug: thread 4380 (decoder) created at priority 0 (src/input/decoder.c:159)
    packetizer_h264 debug: found NAL_SPS
    packetizer_h264 debug: found NAL_PPS
    ts debug: PMTCallBack called
    ts debug: new PMT program number=1 version=27 pid_pcr=68
    ts debug: * descriptor : IOD (0x1d)
    ts debug: * es pid=68 type=27 fcc=h264
    ts warning: found SL_descriptor es_id=69
    ts debug: * es pid=69 type=17 fcc=mp4a
    main debug: looking for decoder module: 26 candidates
    main debug: using decoder module "faad"
    main debug: looking for packetizer module: 17 candidates
    packetizer_mpeg4audio: running MPEG4 audio packetizer
    packetizer_mpeg4audio debug: AAC 48000Hz 1024 samples/frame
    main debug: using packetizer module "packetizer_mpeg4audio"
    main debug: thread 4392 (decoder) created at priority 2 (src/input/decoder.c:159)
    faad warning: decoded zero sample
    main debug: looking for audio output module: 3 candidates
    aout_directx debug: OpenAudio
    aout_directx debug:
    aout_directx debug: found device: C-Media Wave Device
    ts warning: first packet for pid=68 cc=0x9
    aout_directx debug: device supports 2 channels
    aout_directx debug: device supports 1 channel
    aout_directx debug: creating DirectSoundThread
    main debug: thread 4224 (DirectSound Notification Thread) created at priority 15 (directx.c:374)
    aout_directx debug: DirectSoundThread ready
    main debug: using audio output module "aout_directx"
    main debug: output 's16l' 48000 Hz Stereo frame=1 samples/4 bytes
    main debug: mixer 's16l' 48000 Hz Stereo frame=1 samples/4 bytes
    main debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz Stereo->Stereo
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "float32tos16"
    main debug: found a filter for the whole conversion
    main debug: looking for audio mixer module: 3 candidates
    main debug: using audio mixer module "trivial_mixer"
    main debug: input 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
    main debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo->Stereo
    main debug: looking for audio filter module: 23 candidates
    main debug: using audio filter module "bandlimited_resampler"
    main debug: found a filter for the whole conversion
    ffmpeg debug: concealing 1350 DC, 1350 AC, 1350 MV errors
    (h264@03A99A80)
    main debug: no usable vout present, spawning one
    main debug: Registering subpicture channel, ID: 2
    main debug: Registering subpicture channel, ID: 3
    main debug: Registering subpicture channel, ID: 4
    main debug: Registering subpicture channel, ID: 5
    main debug: window size: 720x540
    main debug: looking for video output module: 5 candidates
    vout_directx debug: creating DirectXEventThread
    main debug: waiting for thread completion
    vout_directx debug: DirectXCreateWindow
    vout_directx debug: Created video sub-window
    main debug: thread 4344 (DirectX Events Thread) created at priority 0 (directx.c:261)
    vout_directx debug: DirectXEventThread running
    vout_directx debug: DirectXInitDDraw
    vout_directx debug: directx-device:
    vout_directx debug:
    vout_directx debug: screen dimensions (0x0,1024x768)
    vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
    vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1 align_size_src=0,0 align_size_dest=0,0
    vout_directx debug: End DirectXInitDDraw
    vout_directx debug: DirectXCreateDisplay
    vout_directx debug: DirectXCreateClipper
    main debug: using video output module "vout_directx"
    vout_directx debug: NewPictureVec overlay:yes chroma:YV12
    main debug: waiting for thread completion
    vout_directx debug: YUV overlay created successfully
    vout_directx debug: End NewPictureVec (succeeded)
    main debug: got 1 direct buffer(s)
    main debug: picture in 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: picture user 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: picture out 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
    main debug: thread 4396 (video output) created at priority 1 (src/video_output/video_output.c:416)
    main warning: late picture skipped (438389)
    main warning: late picture skipped (433863)
    ...the same
    main warning: late picture skipped (1062468)
    main warning: buffer is 41677 late, triggering upsampling
    main warning: late picture skipped (1088123)
    ...the same
    main warning: late picture skipped (1905626)
    main warning: timing screwed, stopping resampling
    main warning: buffer is 63992 late, triggering upsampling
    main warning: late picture skipped (1989318)
    ...the same
    main warning: late picture skipped (3072930)
    ffmpeg error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
    main warning: late picture skipped (3094495)
    main warning: timing screwed, stopping resampling
    main warning: buffer is 97739 late, triggering upsampling
When i use vlc-0.8.6,the frame is always black.The error messages is like below.

  • main debug: creating new input thread
    main debug: waiting for thread completion
    main debug: thread 4640 (input) created at priority 1 (input/input.c:265)
    main debug: `udp://127.0.0.1@' gives access `udp' demux `' path `127.0.0.1@'
    main debug: creating demux: access='udp' demux='' path='127.0.0.1@'
    main debug: looking for access_demux module: 0 candidates
    main warning: no access_demux module matched "udp"
    main debug: creating access 'udp' path='127.0.0.1@'
    main debug: looking for access2 module: 6 candidates
    access_udp debug: opening server=127.0.0.1:0 local=:1234
    main debug: net: connecting to '[127.0.0.1]:0@[]:1234'
    main debug: looking for network module: 1 candidate
    ipv6 debug: 127.0.0.1: Host or service not found
    main debug: using network module "ipv6"
    main debug: removing module "ipv6"
    main debug: looking for network module: 1 candidate
    ipv4 debug: resolving :1234...
    ipv4 debug: resolving 127.0.0.1:0...
    main debug: using network module "ipv4"
    main debug: removing module "ipv4"
    main debug: using access2 module "access_udp"
    main debug: pre buffering
    access_udp debug: detected TS over RTP
    access_udp debug: RTP: prebuffered 18 packets
    main debug: creating demux: access='udp' demux='ts' path='127.0.0.1@'
    main debug: looking for demux2 module: 1 candidate
    main debug: using demux2 module "ts"
    main debug: looking for a subtitle file in C:\Program Files\VideoLAN\VLC\
    ts debug: DEMUX_SET_GROUP 0 00000000
    access_udp warning: unimplemented query in control
    main debug: `udp://127.0.0.1@' successfully opened
    ts debug: PATCallBack called
    ts debug: new PAT ts_id=10618 version=22 current_next=1
    ts debug: * number=1 pid=66
    ts debug: PMTCallBack called
    ts debug: new PMT program number=1 version=4 pid_pcr=68
    ts debug: * descriptor : IOD (0x1d)
    ts debug: * es pid=68 type=27 fcc=h264
    main debug: selecting program id=1
    main debug: looking for decoder module: 27 candidates
    ffmpeg debug: libavcodec already initialized
    ffmpeg debug: postprocessing disabled
    ffmpeg debug: ffmpeg codec (h264) started
    main debug: using decoder module "ffmpeg"
    main debug: looking for packetizer module: 17 candidates
    main debug: using packetizer module "packetizer_h264"
    main debug: thread 3912 (decoder) created at priority 0 (input/decoder.c:159)
    ts warning: found SL_descriptor es_id=69
    ts debug: * es pid=69 type=17 fcc=mp4a
    main debug: looking for decoder module: 27 candidates
    main debug: using decoder module "faad"
    main debug: looking for packetizer module: 17 candidates
    packetizer_mpeg4audio debug: running MPEG4 audio packetizer
    packetizer_mpeg4audio debug: AAC 48000Hz 1024 samples/frame
    main debug: using packetizer module "packetizer_mpeg4audio"
    main debug: thread 4028 (decoder) created at priority 2 (input/decoder.c:159)
    faad warning: decoded zero sample
    main debug: looking for audio output module: 3 candidates
    aout_directx debug: OpenAudio
    aout_directx debug:
    aout_directx debug: found device: C-Media Wave Device
    packetizer_h264 debug: found NAL_SPS
    aout_directx debug: device supports 2 channels
    aout_directx debug: device supports 1 channel
    aout_directx debug: creating DirectSoundThread
    main debug: thread 4540 (DirectSound Notification Thread) created at priority 15 (directx.c:372)
    aout_directx debug: DirectSoundThread ready
    main debug: using audio output module "aout_directx"
    main debug: output 's16l' 48000 Hz Stereo frame=1 samples/4 bytes
    main debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
    main debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz Stereo->Stereo
    main debug: looking for audio filter module: 24 candidates
    main debug: using audio filter module "float32tos16"
    main debug: found a filter for the whole conversion
    main debug: looking for audio mixer module: 3 candidates
    main debug: using audio mixer module "trivial_mixer"
    main debug: input 'fl32' 48000 Hz Stereo frame=1 samples/8 bytes
    main debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo->Stereo
    main debug: looking for audio filter module: 24 candidates
    main debug: using audio filter module "bandlimited_resampler"
    main debug: found a filter for the whole conversion
    packetizer_h264 debug: found NAL_PPS
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)
    ffmpeg debug: concealing 1350 DC, 1350 AC, 1350 MV errors
    (h264@00B47970)
    main debug: no usable vout present, spawning one
    main debug: Registering subpicture channel, ID: 2
    main debug: Registering subpicture channel, ID: 3
    main debug: Registering subpicture channel, ID: 4
    main debug: Registering subpicture channel, ID: 5
    main debug: window size: 720x540
    main debug: looking for video output module: 6 candidates
    vout_directx debug: creating DirectXEventThread
    main debug: waiting for thread completion
    vout_directx debug: DirectXCreateWindow
    vout_directx debug: created video sub-window
    main debug: thread 4016 (DirectX Events Thread) created at priority 0 (directx.c:278)
    vout_directx debug: DirectXEventThread running
    vout_directx debug: DirectXInitDDraw
    vout_directx debug: directx-device:
    vout_directx debug:
    vout_directx debug: screen dimensions (0x0,1024x768)
    vout_directx debug: DirectDraw Capabilities: overlay=1 yuvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
    vout_directx debug: align_boundary_src=0,0 align_boundary_dest=1,1 align_size_src=0,0 align_size_dest=0,0
    vout_directx debug: End DirectXInitDDraw
    vout_directx debug: DirectXCreateDisplay
    vout_directx debug: DirectXCreateClipper
    vout_directx debug: disabling screen saver
    main debug: using video output module "vout_directx"
    vout_directx debug: NewPictureVec overlay:yes chroma:YV12
    main debug: waiting for thread completion
    vout_directx debug: YUV overlay created successfully
    vout_directx debug: End NewPictureVec (succeeded)
    main debug: got 1 direct buffer(s)
    main debug: picture in 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: picture user 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: picture out 720x480 (0,0,720x480), chroma I420, ar 4:3, sar 8:9
    main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
    main debug: thread 4004 (video output) created at priority 1 (video_output/video_output.c:421)
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)
    ...the same
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)
    main warning: buffer is 40544 late, triggering upsampling
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)
    ...the same
    ffmpeg warning: cannot decode one frame (27 bytes)
    ffmpeg warning: cannot decode one frame (8 bytes)[/size
    ]


The computer environment i have tested are p3-700 and p4-1.5.They both can't play the files successfully.

ps. the server command line is ":sout=#duplicate{dst=std{access=rtp,mux=ts,dst=127.0.0.1:1234}}"

Any suggestion to solve this will be appreciate.