I am new to VLC as well as to the forum. So any help will be greatly appreciated.
I am facing a problem while using VLC to play an RTP stream that is sent through IPv6. I use the following SDP file to describe the stream.
Code: Select all
/* Start of SDP file */
v=0
o=
s=
m=audio 10202 RTP/AVP 97
c=IN IP6 ff15:0:0:0:0:0:0:0400
b=AS:48
a=rtpmap:97 mpeg4-generic/24000/2
a=fmtp:97 profile-level-id=15; config=1310; streamtype=5; ObjectType=64; mode=AAC-hbr; SizeLength=13; IndexLength=3; IndexDeltaLength=3
m=video 10200 RTP/AVP 96
c=IN IP6 ff15:0:0:0:0:0:0:0400
b=AS:256
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42E00C; sprop-parameter-sets=Z0LgDJZSAoPy,aM44gA==; packetization-mode=1
/* End of SDP file */
I have also attached the complete log file below for more details.main debug: `C:\mySDP.sdp' successfully opened
live555 error: no data received in 10s, aborting
main debug: EOF reached
main debug: closing input
main debug: removing module "live555"
main debug: removing module "access_file"
main debug: removing module "faad"
Code: Select all
-- logger module started --
main debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU
main debug: looking for memcpy module: 3 candidates
main debug: using memcpy module "memcpymmxext"
main debug: waiting for thread completion
main debug: thread 3816 (playlist) created at priority 0 (playlist/playlist.c:184)
main debug: waiting for thread completion
main debug: thread 3832 (preparser) created at priority 0 (playlist/playlist.c:210)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: thread 3856 (interface) created at priority 0 (interface/interface.c:231)
main debug: looking for interface module: 1 candidate
logger: VLC media player - version 0.8.6h Janus - (c) 1996-2008 the VideoLAN team
logger:
Warning: if you can't access the GUI anymore, open a command-line window, go to the directory where you installed VLC and run "vlc -I wx"
logger: using logger...
logger warning: no log filename provided, using `vlc-log.txt'
logger debug: opening logfile `vlc-log.txt'
main debug: using interface module "logger"
main debug: thread 3884 (interface) created at priority 0 (interface/interface.c:231)
main debug: adding playlist item `C:\mySDP.sdp' )
main debug: looking for interface module: 3 candidates
main debug: using interface module "wxwidgets"
main debug: thread 3916 (manager) created at priority 0 (interface/interface.c:216)
wxwidgets debug: Using last windows config '(-1,0,0,1024,768)(0,110,145,355,105)(6,0,0,-1,150)'
wxwidgets debug: id=0 p=(110,145) s=(355,105)
wxwidgets debug: id=6 p=(0,0) s=(-1,150)
main debug: nothing requested, starting
main debug: creating new input thread
main debug: waiting for thread completion
main debug: thread 4024 (input) created at priority 1 (input/input.c:265)
main debug: creating statistics handler
main debug: drive letter C: found in source
main debug: ``C:\mySDP.sdp'
main debug: creating demux: access='' demux='' path=`C:\mySDP.sdp'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path=`C:\mySDP.sdp'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: `C:\mySDP.cue'
vcd debug: could not find .cue file
access_file debug: opening file `C:\mySDP.sdp'
main debug: using access2 module "access_file"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: creating demux: access='' demux='' path=`C:\mySDP.sdp'
main debug: looking for demux2 module: 45 candidates
live555 debug: RTP subsession 'audio/MPEG4-GENERIC'
live555 debug: RTP subsession 'video/H264'
main debug: selecting program id=0
main debug: using demux2 module "live555"
main debug: looking for a subtitle file in C:\
main debug: looking for decoder module: 28 candidates
main debug: using decoder module "faad"
main debug: thread 4176 (decoder) created at priority 2 (input/decoder.c:159)
main debug: looking for decoder module: 28 candidates
ffmpeg debug: libavcodec initialized (interface 3349504 )
ffmpeg debug: postprocessing disabled
ffmpeg debug: ffmpeg codec (h264) started
main debug: using decoder module "ffmpeg"
main debug: looking for packetizer module: 17 candidates
packetizer_h264 debug: found NAL_SPS
main debug: using packetizer module "packetizer_h264"
main debug: thread 4284 (decoder) created at priority 0 (input/decoder.c:159)
main debug: `C:\mySDP.sdp' successfully opened
live555 error: no data received in 10s, aborting
main debug: EOF reached
main debug: closing input
main debug: removing module "live555"
main debug: removing module "access_file"
main debug: removing module "faad"
main debug: thread times: real 0m11.530733s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 4176 joined (input/decoder.c:191)
main debug: killing decoder fourcc `mp4a', 0 PES in FIFO
ffmpeg debug: ffmpeg codec (h264) stopped
main debug: removing module "ffmpeg"
main debug: thread times: real 0m11.046380s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 4284 joined (input/decoder.c:191)
main debug: killing decoder fourcc `h264', 0 PES in FIFO
main debug: removing module "packetizer_h264"
main debug: thread times: real 0m12.265075s, kernel 0m0.109375s, user 0m0.062500s
main debug: thread 4024 joined (input/input.c:412)
main: nothing to play
main debug: removing all interfaces
main debug: thread times: real 0m25.936338s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 3916 joined (interface/interface.c:258)
main debug: removing module "wxwidgets"
main debug: thread times: real 0m26.467564s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 3884 joined (interface/interface.c:258)
-- logger module stopped --
Doubting that this might be a problem with VLC receiving IPv6 data, I wrote a simple packet forwarder application that receives the IPv6 packets, converts them to IPv4 and push them to a given (239.99.99.99) IPv4 address. Then I modified the SDP file to the following, replacing the IPv6 address with the IPv4 address.
Code: Select all
/* Start of modified SDP file */
v=0
o=
s=
m=audio 10202 RTP/AVP 97
c=IN IP4 239.99.99.99
b=AS:48
a=rtpmap:97 mpeg4-generic/24000/2
a=fmtp:97 profile-level-id=15; config=1310; streamtype=5; ObjectType=64; mode=AAC-hbr; SizeLength=13; IndexLength=3; IndexDeltaLength=3
m=video 10200 RTP/AVP 96
c=IN IP4 239.99.99.99
b=AS:256
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42E00C; sprop-parameter-sets=Z0LgDJZSAoPy,aM44gA==; packetization-mode=1
/* End of modified SDP file */
This works for now, but has introduced the additional forwarding threads as overhead into the application.
Is there anything wrong with the original SDP file I have used? It doesn't seem so to me, because all I changed in the second file was only the IP address. Does VLC support receiving RTP data sent through IPv6?
Thanks in advance.
- Mahesh