Catch a 3GPP Timed text stream over RTP

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
Cyrilo
New Cone
New Cone
Posts: 1
Joined: 08 Jan 2010 15:29

Catch a 3GPP Timed text stream over RTP

Postby Cyrilo » 08 Jan 2010 16:21

Hi,

I'm working on the transmission of 3GPP timed text over RTP (see http://tools.ietf.org/html/rfc4396 for more info).
My questions is the following:
- is VLC able to catch such a stream over RTP?
- If so, what should be the sdp format subtype? I found two propositions for it on the web : 'text/3gpp-tt' or 'video/3gpp-tt'
- Should the sample description be sent with the static or dynamic method for VLC if I use a SDP file?

Thanks for any hints!
Cyril

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

Re: Catch a 3GPP Timed text stream over RTP

Postby Rémi Denis-Courmont » 09 Jan 2010 11:46

VLC does not currently implement that payload format.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Helio-2000
New Cone
New Cone
Posts: 6
Joined: 29 Jul 2010 17:24

Re: Catch a 3GPP Timed text stream over RTP

Postby Helio-2000 » 16 Aug 2010 09:56

I would like to extend VLC to implement this payload format.
Provided I am new to VLC could you please give me some hints on how should I start or what should be modified?

Thank you.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Catch a 3GPP Timed text stream over RTP

Postby Jean-Baptiste Kempf » 16 Aug 2010 11:16

Have you compiled VLC?
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Helio-2000
New Cone
New Cone
Posts: 6
Joined: 29 Jul 2010 17:24

Re: Catch a 3GPP Timed text stream over RTP

Postby Helio-2000 » 16 Aug 2010 14:45

Yes I have.

What I understand after looking at the code in GIT repository RTP module works both as medium access and demuxer. So I would need to define payload type as defined in http://tools.ietf.org/html/rfc4396 and add a function to extract configuration and data and pass them to subsdec module.

However I'm not sure how RTP demuxer and subsdec decoder are glued together.

Could you please provide some help about that?

Thank you.

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

Re: Catch a 3GPP Timed text stream over RTP

Postby Rémi Denis-Courmont » 16 Aug 2010 17:01

You need to detect the payload format as defined by the live555 library, and pass it onto the VLC Elementary Stream Output (ES OUT), just like is already done for many formats.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Helio-2000
New Cone
New Cone
Posts: 6
Joined: 29 Jul 2010 17:24

Re: Catch a 3GPP Timed text stream over RTP

Postby Helio-2000 » 17 Aug 2010 12:31

Thank you for your help, as I understand this would be necessary for supporting output streaming.
I am more interested on adding input support first. What components would be involved on this?
I have tried to receive T.140 text via RTSP/RTP as an example (with the hope that it should be done in a similar way for 3GPP) and I get the following messages:

main debug: processing request item rtsp://192.168.0.80:5544/video node Playlist skip 0
main debug: resyncing on rtsp://192.168.0.80:5544/video
main debug: rtsp://192.168.0.80:5544/video is at 0
main debug: starting new item
main debug: creating new input thread
main debug: Creating an input for 'rtsp://192.168.0.80:5544/video'
main debug: thread (input) created at priority 10 (input/input.c:215)
main debug: thread started
main debug: using timeshift granularity of 50 MiB
main debug: using timeshift path '/tmp'
main debug: TIMER input launching for 'rtsp://192.168.0.80:5544/video' : 59118.309 ms - Total 59118.309 ms / 1 intvls (Avg 59118.305 ms)
main debug: `rtsp://192.168.0.80:5544/video' gives access `rtsp' demux `' path `192.168.0.80:5544/video'
main debug: creating demux: access='rtsp' demux='' location='192.168.0.80:5544/video' file='(null)'
main debug: looking for access_demux module: 1 candidate
qt4 debug: IM: Setting an input
live555 debug: RTP subsession 'video/H264'
live555 debug: RTP subsession 'video/H264' (1)
live555 debug: RTP subsession 'video/H264' (2)
live555 debug: RTP subsession 'video/H264' (3)
live555 debug: RTP subsession 'video/H264' (4)
main debug: selecting program id=0
live555 debug: RTP subsession 'text/T140'
live555 debug: RTP subsession 'text/T140' (1)
live555 debug: RTP subsession 'text/T140' (2)
live555 debug: RTP subsession 'text/T140' (3)
live555 debug: RTP subsession 'text/T140' (4)
live555 debug: setup start: 0.000000 stop:0.000000
live555 debug: We have a timeout of 60 seconds
live555 debug: spawned timeout thread
live555 debug: play start: 0.000000 stop:0.000000
main debug: using access_demux module "live555"
main debug: TIMER module_need() : 211.685 ms - Total 211.685 ms / 1 intvls (Avg 211.685 ms)
main debug: looking for decoder module: 29 candidates
avcodec debug: libavcodec already initialized
avcodec debug: trying to use direct rendering
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) started
main debug: using decoder module "avcodec"
main debug: TIMER module_need() : 2.097 ms - Total 2.097 ms / 1 intvls (Avg 2.097 ms)
main debug: looking for packetizer module: 21 candidates
packetizer_h264 debug: found NAL_SPS (sps_id=0)
packetizer_h264 debug: found NAL_PPS (pps_id=0 sps_id=0)
main debug: using packetizer module "packetizer_h264"
main debug: TIMER module_need() : 0.257 ms - Total 0.257 ms / 1 intvls (Avg 0.257 ms)
main debug: thread (decoder) created at priority 0 (input/decoder.c:304)
main debug: thread started
main debug: looking for meta reader module: 2 candidates
lua debug: Trying Lua scripts in /remotehome/javier/.local/share/vlc/lua/meta/reader
lua debug: Trying Lua scripts in /home/javier/ffmpeg/lib/vlc/lua/meta/reader
lua debug: Trying Lua playlist script /home/javier/ffmpeg/lib/vlc/lua/meta/reader/filename.luac
lua debug: Trying Lua scripts in /home/javier/ffmpeg/share/vlc/lua/meta/reader
main debug: no meta reader module matching "any" could be loaded
main debug: TIMER module_need() : 0.867 ms - Total 0.867 ms / 1 intvls (Avg 0.867 ms)

Here, t140 format is found by live555 on reception but no decoder or any other modules are found, I would even say that they are not searched for either...
What would be missing in this case? I think I will begin adding t140 streaming input support since it seems a good start point for adding 3GPP later.

Thank you.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Catch a 3GPP Timed text stream over RTP

Postby Jean-Baptiste Kempf » 17 Aug 2010 12:52

Do you see the t140 sub track in the menu?
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Helio-2000
New Cone
New Cone
Posts: 6
Joined: 29 Jul 2010 17:24

Re: Catch a 3GPP Timed text stream over RTP

Postby Helio-2000 » 17 Aug 2010 15:15

Yes, you are right. T140 streaming works fine from VLC to VLC.
This should be a good start point for 3GPP.

Thank you.

svkpd
New Cone
New Cone
Posts: 7
Joined: 19 Jul 2010 11:13

Re: Catch a 3GPP Timed text stream over RTP

Postby svkpd » 23 Aug 2010 10:20

could you tell me (according to RFC) what should be the payload type, so VLC would recognize it? And if possible, paste some complete T140 RTP Packet here so I could see what to send? I have my own RTP server working fine with video/audio, but I need to add subtitles there. And I havent managed to find an example anywhere.

Code: Select all

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC=0 |M| T140 PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp (1000Hz) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + T.140 encoded data + | | + +---------------+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

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

Re: Catch a 3GPP Timed text stream over RTP

Postby Rémi Denis-Courmont » 23 Aug 2010 19:33

T.140 is just glorified UTF-8 plain text.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 66 guests