Help in playing RTP (H264) streams

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
bygdsgrc
New Cone
New Cone
Posts: 4
Joined: 22 Oct 2008 22:48

Help in playing RTP (H264) streams

Postby bygdsgrc » 22 Oct 2008 23:02

I am using VLC to test my code, that encapsulates H264 encoded video into RTP streams and sends it out of the ethernet interface to another PC.
I can verify that the packets are getting to the other PC (using wireshark), but when I attempt to play on VLC using Open file (SDP file)/ using Open Network ( Protocol UDP/RTP) at the ip address/port, dont seem to see anything.

When using the following SDP file, I captured some VLC messages and not exactly sure what it means. Is there something obvious I am missing.
v=0
o=- 67890 12355 IN IP4 1.16.1.1
s=rtp_h264
c=IN IP4 1.16.1.2
t=0 0
a=type:broadcast
m=video 17000 RTP/AVP 96
a=rtpmap:96 H264/90000
a=framerate:30
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=QgAzklQC0QgAAB9AAAopwC,zg8I


VLC message log :

qt4 debug: New item: C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp
main debug: adding item `h264.sdp' ( C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp )
main debug: waitpipe: object killed
main debug: socket 6612 polling interrupted
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 9 items, index 7
main debug: dying input
access_filter_timeshift debug: timeshift: no more input data
access_filter_timeshift debug: timeshift: EOF
main debug: thread ended
main error: cannot pre fill buffer
main warning: cannot create a stream_t from access
access_filter_timeshift debug: timeshift close called
main debug: thread times: real 20m36.196256s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 6472 joined (timeshift.c:210)
main debug: removing module "access_filter_timeshift"
main debug: removing module "access_filter_dump"
main debug: removing module "access_filter_record"
main debug: removing module "access_udp"
main debug: thread ended
qt4 debug: Updating the stream status: 8
main debug: dead input
main debug: thread times: real 20m36.211881s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 6400 joined (playlist/engine.c:244)
main debug: TIMER input launching for 'udp://@172.16.1.35:17000' : 1236236.059 ms - Total 1236236.059 ms / 1 intvls (Avg 1236236.000 ms)
main debug: starting new item
main debug: processing request item h264.sdp node Playlist skip 0
main debug: resyncing on h264.sdp
main debug: h264.sdp is at 8
main debug: creating new input thread
main debug: Creating an input for 'h264.sdp'
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 6632 (input) created at priority 1 (input/input.c:368)
main debug: `C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp' gives access `' demux `' path `C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp'
main debug: creating demux: access='' demux='' path='C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp'
main debug: looking for access_demux module: 1 candidate
qt4 debug: Updating the stream status: 3
main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms)
main debug: creating access '' path='C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp'
main debug: looking for access module: 5 candidates
vcd debug: trying .cue file: C:\Documents and Settings\pkaramcheti\My Documents\h264.cue
vcd debug: could not find .cue file
access_file debug: opening file `C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp'
main debug: using access module "access_file"
main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms)
main debug: creating access filter 'record'
main debug: looking for access_filter module: 1 candidate
access_filter_record debug: Record access filter path C:\Documents and Settings\All Users\Application Data
main debug: using access_filter module "access_filter_record"
main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms)
main debug: creating access filter 'dump'
main debug: looking for access_filter module: 1 candidate
access_filter_dump debug: dump filter useless
main warning: no access_filter module matching "dump" could be loaded
main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main warning: failed to insert access filter dump
main debug: creating access filter 'timeshift'
main debug: looking for access_filter module: 1 candidate
access_filter_timeshift debug: ACCESS_CAN_CONTROL_PACE: timeshift useless
main warning: no access_filter module matching "timeshift" could be loaded
main debug: TIMER module_Need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms)
main warning: failed to insert access filter timeshift
main debug: creating access filter 'bandwidth'
main debug: looking for access_filter module: 1 candidate
access_filter_bandwidth debug: bandwidth limit: 65536 bytes/s
main debug: using access_filter module "access_filter_bandwidth"
main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: Using AStream*Stream
main debug: pre-buffering...
access_filter_bandwidth debug: reading 65 bytes instead of zu
access_filter_bandwidth debug: read zu bytes
main debug: received first data for our buffer
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
main debug: creating demux: access='' demux='' path='C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp'
main debug: looking for demux module: 51 candidates
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
access_filter_bandwidth debug: reading 65 bytes instead of zu
access_filter_bandwidth debug: read zu bytes
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
access_filter_bandwidth debug: reading 65 bytes instead of zu
access_filter_bandwidth debug: read zu bytes
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
access_filter_bandwidth error: *** ALERT *** System clock is going backward! ***
qt4 debug: New Event: type 1103
qt4 debug: Updating the stream status: 2
live555 debug: RTP subsession 'video/H264'
main debug: selecting program id=0
live555 debug: setup start: 0 stop:0
live555 debug: play start: 0 stop:0
main debug: using demux module "live555"
main debug: TIMER module_Need() : 16.000 ms - Total 16.000 ms / 1 intvls (Avg 16.000 ms)
main debug: looking for a subtitle file in C:\Documents and Settings\pkaramcheti\My Documents\
main debug: looking for decoder module: 37 candidates
qt4 debug: New Event: type 1108
avcodec debug: libavcodec already initialized
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) started
main debug: using decoder module "avcodec"
main debug: TIMER module_Need() : 10.000 ms - Total 10.000 ms / 1 intvls (Avg 10.000 ms)
main debug: looking for packetizer module: 18 candidates
main debug: using packetizer module "packetizer_h264"
main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: thread started
main debug: thread 6784 (decoder) created at priority 0 (input/decoder.c:217)
main debug: `C:\Documents and Settings\pkaramcheti\My Documents\h264.sdp' successfully opened
qt4 debug: New Event: type 1103
qt4 debug: Updating the stream status: 3
main debug: control type=1
live555 error: no data received in 10s, aborting
main debug: EOF reached
qt4 debug: New Event: type 1103
qt4 debug: Updating the stream status: 8
main debug: finished input
main debug: removing module "live555"
main debug: dying input
main debug: removing module "access_filter_bandwidth"
main debug: removing module "access_filter_record"
main debug: removing module "access_file"
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) stopped
main debug: removing module "avcodec"
main debug: thread ended
main debug: thread times: real 0m10.515894s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 6784 joined (input/decoder.c:248)
main debug: killing decoder fourcc `h264', 0 PES in FIFO
main debug: removing module "packetizer_h264"
main debug: thread ended
qt4 debug: Updating the stream status: 8
main debug: dead input
main debug: thread times: real 0m10.578395s, kernel 0m0.031250s, user 0m0.015625s
main debug: thread 6632 joined (playlist/engine.c:244)
main debug: TIMER input launching for 'h264.sdp' : 45.000 ms - Total 45.000 ms / 1 intvls (Avg 45.000 ms)
main debug: starting new item
main debug: changing item without a request (current 8/9)
main debug: nothing to play





Any help is appreciated.

Rémi Denis-Courmont
Developer
Developer
Posts: 15337
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: Help in playing RTP (H264) streams

Postby Rémi Denis-Courmont » 23 Oct 2008 19:05

SDP connection informations seem incorrect (or you have a misconfigured firewall)
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

bygdsgrc
New Cone
New Cone
Posts: 4
Joined: 22 Oct 2008 22:48

Re: Help in playing RTP (H264) streams

Postby bygdsgrc » 30 Oct 2008 15:31

I have added the port to the firewall exceptions and the sdp file also appears to be correct ( I double checked with the RFC Unless I am missing something subtle).
I created a sample udp client to capture packets sent on that port and can receive the packets, so it is not the firewall.
I can see the packets getting to VLC if I use VLC on a linux machine. But VLC on windows doesnt appear to see the packets at all. When I do a "netstat -an" I dont see an entry of the port.

Even though the packets are getting to VLC on linux, it appears that it is continuously waiting for PPS/SPS, where as the PPS and SPS information are already present in the sdp file in the sprop-parameter-sets field for fmtp.

So even though running VLC on linux is slightly better in this case I am not able to view packetised streams in either case.

Thanks.

packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 38 guests