Stream Forward

About encoding, codec settings, muxers and filter usage
karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Stream Forward

Postby karhuFI » 10 Jun 2009 16:04

Hello,

I'm using VLC 0.9.9 on Windows Server, trying to forward rtp packet from a network (192.168.0.0/24) to another network (10.10.0.0/24).
I capture rtp packet with the following command line :

"c:\Program Files\VideoLAN\VLC\vlc.exe" udp://@10.10.10.100:1234.
Rtp packet seems to be reveive because when i look at statistics i can see there are input packet from the source.

but there are no rtp packets forwarded, using the following command line :
:sout=#duplicate{dst=rtp{dst=192.168.0.3,port=1234,port-audio=1234,port-video=1236}}

There are 2 networks card on my VLC's computer. one on 192.168.0.0/24 and the other on 10.10.0.0/24 network.

any ideas ?

Cheers,
Karhu

karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Re: Stream Forward

Postby karhuFI » 12 Jun 2009 10:40

Any idea ?
I don't know what is wrong...maybe the command lines !?

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

Re: Stream Forward

Postby Rémi Denis-Courmont » 12 Jun 2009 19:12

If the input is RTP then why the heck do you open it as a raw UDP stream? No wonder it's not working.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Re: Stream Forward

Postby karhuFI » 18 Jun 2009 09:45

Yes, true true my mistake :)

Well now it's working to relay rtp packet ! Ok, it's almost working :D cause to relay rtp packets from one network to the other i need to call 2 instances of Vlc..
The first instance, which is listening on 192.168.0.0/24 network and forward the stream to 10.10.10.0/24 network and the other instance, listening on 10.10.10.0/24 and forward the stream to 192.168.0.0/24 network.. And when i call 2 instances of VLC, one of them is not working..I mean one of the following command is not working !! maybe cause i am calling simillar library !?
I need some help :)

Below are the 2 commands line !!

"c:\Program Files\VideoLAN\VLC\vlc.exe" -vvv rtp://@10.10.10.100:5678 :sout=#duplicate{dst=rtp{dst=192.168.0.3,port=1234,port-audio=1234,port-video=1236}} :sout-keep

"c:\Program Files\VideoLAN\VLC\vlc.exe" -vvv rtp://@192.168.0.100:1234 :sout=#duplicate{dst=rtp{dst=10.10.10.3,port=1234,port-audio=1234,port-video=1236}} :sout-keep

Thanks.

karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Re: Stream Forward

Postby karhuFI » 18 Jun 2009 10:15

Other question, is it possible to listen on 2 inputs streams and relay it to 2 output Ips ?

karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Re: Stream Forward

Postby karhuFI » 18 Jun 2009 11:10

Well i used :input-slave=rtp to listen for the other stream. But how to specify the good output for the input-slave stream !? is there any output-slave :D ??

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

Re: Stream Forward

Postby Rémi Denis-Courmont » 22 Jun 2009 21:00

duplicate and select can specify which elemetary stream to send where. This is explained in the streaming howto.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

karhuFI
New Cone
New Cone
Posts: 7
Joined: 10 Jun 2009 15:43

Re: Stream Forward

Postby karhuFI » 30 Jun 2009 11:27

Hi everybody,

I am able to catch rtp audio stream from sip phone, where audio is on 1234 port. With the following line everything
is fine and rtp packets are well relayed to 10.10.10.0/24 network.

"c:\Program Files\VideoLAN\VLC\vlc.exe" -vvv rtp://@192.168.0.100:1234 :sout=#duplicate{dst=rtp{dst=10.10.10.3,port=1234,port-audio=1234,port-video=1236}} :sout-keep
Below is the log file :

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: thread 4632 (Interaction control) created at priority 0 (../../src/interface/interaction.c:382)
main debug: thread started
main debug: Creating an input for 'Bibliothèque'
main debug: Input is a meta file: disabling unneeded options
main debug: `file/xspf-open://C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf' gives access `file' demux `xspf-open' path `C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: creating access 'file' path='C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: looking for access module: 2 candidates
access_file debug: opening file `C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: using access module "access_file"
main debug: TIMER module_Need() : 4.000 ms - Total 4.000 ms / 1 intvls (Avg 4.000 ms)
main debug: Using AStream*Stream
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: creating demux: access='file' demux='xspf-open' path='C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: looking for demux module: 1 candidate
playlist debug: using XSPF playlist reader
main debug: using demux module "playlist"
main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: `file/xspf-open://C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf' successfully opened
main debug: looking for xml module: 2 candidates
main debug: using xml module "xml"
main debug: TIMER module_Need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
playlist debug: parsed 0 tracks successfully
main debug: removing module "xml"
main debug: EOF reached
main debug: control type=1
main debug: removing module "playlist"
main debug: removing module "access_file"
main debug: TIMER input launching for 'Bibliothèque' : 19.000 ms - Total 19.000 ms / 1 intvls (Avg 19.000 ms)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4708 (preparser) created at priority 0 (../../src/playlist/thread.c:79)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4720 (fetcher) created at priority 0 (../../src/playlist/thread.c:108)
main debug: waiting for thread initialization
main debug: thread started
main debug: rebuilding array of current - root Liste de lecture
main debug: rebuild done - 0 items, index -1
main debug: thread 4716 (playlist) created at priority 0 (../../src/playlist/thread.c:117)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: TIMER module_Need() : 4.000 ms - Total 4.000 ms / 1 intvls (Avg 4.000 ms)
main debug: thread 4732 (interface) created at priority 0 (../../src/interface/interface.c:168)
main debug: thread started
main debug: adding item `rtp://@192.168.0.100:1234' ( rtp://@192.168.0.100:1234 )
main info: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
main debug: looking for interface module: 3 candidates
main debug: using interface module "qt4"
main debug: TIMER module_Need() : 16.000 ms - Total 16.000 ms / 1 intvls (Avg 16.000 ms)
main debug: thread 4876 (interface) created at priority 0 (../../src/interface/interface.c:168)
main debug: starting new item
main debug: processing request item null node Liste de lecture skip 0
main debug: rebuilding array of current - root Liste de lecture
main debug: rebuild done - 1 items, index -1
main debug: creating new input thread
main debug: Creating an input for 'rtp://@192.168.0.100:1234'
main debug: thread started
main debug: waiting for thread initialization
main debug: thread started
main debug: stream=`duplicate'
main debug: looking for sout stream module: 1 candidate
main debug: thread 4956 (input) created at priority 1 (../../src/input/input.c:370)
stream_out_duplicate debug: creating 'duplicate'
stream_out_duplicate debug: * adding `rtp{dst=10.10.10.3,port=5002,port-audio=5002,port-video=5004}'
main debug: stream=`rtp'
main debug: looking for sout stream module: 1 candidate
main debug: set config option: sout-rtp-dst to 10.10.10.3
main debug: set config option: sout-rtp-port to 5002
main debug: set config option: sout-rtp-port-audio to 5002
main debug: set config option: sout-rtp-port-video to 5004
main debug: using sout stream module "stream_out_rtp"
main debug: TIMER module_Need() : 24.000 ms - Total 24.000 ms / 1 intvls (Avg 24.000 ms)
main debug: using sout stream module "stream_out_duplicate"
main debug: TIMER module_Need() : 27.000 ms - Total 27.000 ms / 1 intvls (Avg 27.000 ms)
main debug: `rtp://@192.168.0.100:1234' gives access `rtp' demux `' path `@192.168.0.100:1234'
main debug: creating demux: access='rtp' demux='' path='@192.168.0.100:1234'
main debug: looking for access_demux module: 1 candidate
main debug: net: opening 192.168.0.100 datagram port 1234
main debug: net: opening 192.168.0.100 datagram port 1235
main debug: using access_demux module "rtp"
main debug: TIMER module_Need() : 31.000 ms - Total 31.000 ms / 1 intvls (Avg 31.000 ms)
main debug: looking for a subtitle file in C:\Documents and Settings\Administrator\Desktop\
main debug: starting in async mode
main debug: `rtp://@192.168.0.100:1234' successfully opened
qt4 debug: Error while initializing qt-specific localization
qt4 debug: Updating the stream status: 3
rtp debug: detected G.711 mu-law
rtp debug: added payload type 0 (f = 8000 Hz)
main debug: selecting program id=0
qt4 debug: New Event: type 1108
main debug: looking for packetizer module: 18 candidates
main debug: using packetizer module "packetizer_copy"
main debug: TIMER module_Need() : 1414.000 ms - Total 1414.000 ms / 1 intvls (Avg 1414.000 ms)
main debug: thread 5272 (decoder) created at priority 2 (../../src/input/decoder.c:217)
main debug: thread started
rtp debug: added RTP source (154c7d6d)
main debug: control type=1
main debug: adding a new sout input (sout_input:00CA3F00)
stream_out_duplicate debug: duplicated a new stream codec=ulaw (es=0 group=0)
stream_out_rtp debug: maximum RTP packet size: 1400 bytes
main debug: net: connecting to [10.10.10.3]:5002
main debug: net: connecting to [10.10.10.3]:5003 from [10.10.10.100]:1111
main debug: thread 5332 (RTP send thread) created at priority 15 (../../../modules/stream_out/rtp.c:1238)
main debug: thread started
stream_out_rtp debug: sdp=
v=0
o=- 14840570885916689334 14840570885916689334 IN IP4 l-mediaplug
s=Unnamed
i=N/A
c=IN IP4 10.10.10.3qt4 debug: Using a general windows

t=0 0
a=tool:vlc 0.9.9
a=recvonly
a=type:broadcast
a=charset:UTF-8
m=audio 5002 RTP/AVP 0
b=RR:0
a=rtpmap:0 PCMU/8000

stream_out_duplicate debug: - added for output 0
main debug: switching to sync mode


The idea is now to catch the video witch is send trough rtp on 1236 port but there is no rtp packets coming on vlc input. When i start wireshark i can
see the video is sent to 192.168.0.100:1236 with rtp protocol..so when i start vlc with :

"c:\Program Files\VideoLAN\VLC\vlc.exe" -vvv rtp://@192.168.0.100:1236 there is no input stream or whatever..
i'm a bit wondering what is wrong :)

below the log file and the command line for rtp video packets:
"c:\Program Files\VideoLAN\VLC\vlc.exe" -vvv rtp://@192.168.0.100:1236 :sout=#duplicate{dst=rtp{dst=10.10.10.3,port=5002,port-video=5004}} :sout-keep

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: thread 4632 (Interaction control) created at priority 0 (../../src/interface/interaction.c:382)
main debug: thread started
main debug: Creating an input for 'Bibliothèque'
main debug: Input is a meta file: disabling unneeded options
main debug: `file/xspf-open://C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf' gives access `file' demux `xspf-open' path `C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: creating access 'file' path='C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: looking for access module: 2 candidates
access_file debug: opening file `C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: using access module "access_file"
main debug: TIMER module_Need() : 14.000 ms - Total 14.000 ms / 1 intvls (Avg 14.000 ms)
main debug: Using AStream*Stream
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: creating demux: access='file' demux='xspf-open' path='C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf'
main debug: looking for demux module: 1 candidate
playlist debug: using XSPF playlist reader
main debug: using demux module "playlist"
main debug: TIMER module_Need() : 4.000 ms - Total 4.000 ms / 1 intvls (Avg 4.000 ms)
main debug: `file/xspf-open://C:\Documents and Settings\Administrator\Application Data\vlc\ml.xspf' successfully opened
main debug: looking for xml module: 2 candidates
main debug: using xml module "xml"
main debug: TIMER module_Need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms)
playlist debug: parsed 0 tracks successfully
main debug: removing module "xml"
main debug: EOF reached
main debug: control type=1
main debug: removing module "playlist"
main debug: removing module "access_file"
main debug: TIMER input launching for 'Bibliothèque' : 28.000 ms - Total 28.000 ms / 1 intvls (Avg 28.000 ms)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4708 (preparser) created at priority 0 (../../src/playlist/thread.c:79)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4720 (fetcher) created at priority 0 (../../src/playlist/thread.c:108)
main debug: waiting for thread initialization
main debug: thread started
main debug: rebuilding array of current - root Liste de lecture
main debug: rebuild done - 0 items, index -1
main debug: thread 4716 (playlist) created at priority 0 (../../src/playlist/thread.c:117)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: TIMER module_Need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms)
main debug: thread 4732 (interface) created at priority 0 (../../src/interface/interface.c:168)
main debug: thread started
main debug: adding item `rtp://@192.168.0.100:1236' ( rtp://@192.168.0.100:1236 )
main info: Lancement de vlc avec l'interface par défaut. Utilisez « cvlc » pour démarrer VLC sans interface.
main debug: looking for interface module: 3 candidates
main debug: using interface module "qt4"
main debug: TIMER module_Need() : 15.000 ms - Total 15.000 ms / 1 intvls (Avg 15.000 ms)
main debug: thread 4876 (interface) created at priority 0 (../../src/interface/interface.c:168)
main debug: starting new item
main debug: processing request item null node Liste de lecture skip 0
main debug: rebuilding array of current - root Liste de lecture
main debug: rebuild done - 1 items, index -1
main debug: creating new input thread
main debug: thread started
main debug: Creating an input for 'rtp://@192.168.0.100:1236'
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4956 (input) created at priority 1 (../../src/input/input.c:370)
main debug: stream=`duplicate'
main debug: looking for sout stream module: 1 candidate
stream_out_duplicate debug: creating 'duplicate'
stream_out_duplicate debug: * adding `rtp{dst=10.10.10.3,port=5002,port-video=5004}'
main debug: stream=`rtp'
main debug: looking for sout stream module: 1 candidate
main debug: set config option: sout-rtp-dst to 10.10.10.3
main debug: set config option: sout-rtp-port to 5002
main debug: set config option: sout-rtp-port-video to 5004
main debug: using sout stream module "stream_out_rtp"
main debug: TIMER module_Need() : 24.000 ms - Total 24.000 ms / 1 intvls (Avg 24.000 ms)
main debug: using sout stream module "stream_out_duplicate"
main debug: TIMER module_Need() : 28.000 ms - Total 28.000 ms / 1 intvls (Avg 28.000 ms)
main debug: `rtp://@192.168.0.100:1236' gives access `rtp' demux `' path `@192.168.0.100:1236'
main debug: creating demux: access='rtp' demux='' path='@192.168.0.100:1236'
main debug: looking for access_demux module: 1 candidate
main debug: net: opening 192.168.0.100 datagram port 1236
main debug: net: opening 192.168.0.100 datagram port 1237
main debug: using access_demux module "rtp"
main debug: TIMER module_Need() : 28.000 ms - Total 28.000 ms / 1 intvls (Avg 28.000 ms)
main debug: looking for a subtitle file in C:\Documents and Settings\Administrator\Desktop\
main debug: starting in async mode
main debug: `rtp://@192.168.0.100:1236' successfully opened
main debug: control type=1
qt4 debug: Error while initializing qt-specific localization
qt4 debug: Updating the stream status: 3

diegofn
Blank Cone
Blank Cone
Posts: 48
Joined: 06 Mar 2008 17:34

Re: Stream Forward

Postby diegofn » 19 Aug 2010 03:40

Yes I have the same problem

in a SIP Call I received two UDP flow (Voice RTP) and Video (H.263). I can listen the audio stream in a UDP port. However I can't watch the Video.

Using wireshark I see the video packets.

What can I do? Thanks for your help!


Return to “VLC stream-output (sout)”

Who is online

Users browsing this forum: No registered users and 2 guests