[SOLVED] command line record

For questions and discussion that is NOT (I repeat NOT) specific to a certain Operating System.
rainbowcrypt
Blank Cone
Blank Cone
Posts: 14
Joined: 21 Sep 2009 11:05

[SOLVED] command line record

Postby rainbowcrypt » 03 Oct 2011 15:09

Hi,
I know there is a lot of informations on the net about recording with vlc, but I can't record my streams.
I want to record dvb-t stream. Of course I want only one channel (program), but within this channel I want every audio/video/subtitles(teletext or dvb). And that's subtitles that give me some troubles!
I carefully read this : http://www.videolan.org/doc/streaming-h ... /ch09.html and this : http://www.videolan.org/doc/streaming-h ... /ch03.html

When I do, for exemple

Code: Select all

vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#duplicate{dst=std{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file},select="program=519"}"
I have audio/video but no subtitles (that are teletext on this channel). I precise that "513" in "--programs=513,519" (513 is the first sid of this multiplex) is mandatory, otherwise the record is blank.

When I add

Code: Select all

dst=display,select="program=519"
in the duplicate parameter, I see the video (of course) and I have access to subtitles.
So it seems to me that the problem is the mux=ts method. I tried with some raw/dump-file parameters, but this lead me to ~kB recording file!

The only way to have audio/video/teletext-subtitles is to click on the "red button" when I directly look at the program. But I want to be able to do it with the command line (in order to use it in a script)
So the question is :
What does the "red button" do that command line can't do??
In other word : what is exactly the command behind this red button?

Thanks,
Last edited by rainbowcrypt on 03 Oct 2011 19:01, edited 1 time in total.

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: command line record

Postby Jean-Baptiste Kempf » 03 Oct 2011 15:26

You don't need duplicate on your first line... Use --sout=select{program=519}:std={mux... or something of the like.
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.

rainbowcrypt
Blank Cone
Blank Cone
Posts: 14
Joined: 21 Sep 2009 11:05

Re: command line record

Postby rainbowcrypt » 03 Oct 2011 16:33

thanks,
I already tried with "#standard" in place of "#duplicate" (since I do not duplicate, at this time, but in the future, maybe...) and it doesn't work.

I tried what you suggest, the problem is the "something of the like" :). So here are my tries with several combinations of # and "" :

Code: Select all

vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout=select{program=519}:std={mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file},select="program=519"} vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout=select{program=519}:standard{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file} vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#standard{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file},select="program=519"" vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#standard{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file,select="program=519"}" vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#select{program=519}":"#standard{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file,select="program=519"}" vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#select{program=519}:#standard{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file}" vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout=select{program=519}:std{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file} vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout "#select{program=519}:std{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file}" vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --sout="#select{program=519}:std{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file}"


The answer is :

Code: Select all

main stream output error: stream chain failed for `....' main input error: cannot start stream output instance, aborting
In fact, "select" is not in the "list of the modules currently available: " (source http://www.videolan.org/doc/streaming-h ... /ch03.html top of the page) which certainly explain why the stream chain fails?
BTW even if I don't "select" a program nor programs, and I do --sout="#standard", I still have no subtitles!

[EDIT]
Perhaps I should add something : there is no problem with dvb-subtitles, it's just the teletex-subtitles that are not recorded!
[\EDIT]

[EDIT2]
Ok, after writting the previous EDIT, I searched on google for "vlc stream teletext" and I found this page : http://wiki.videolan.org/VLC_command-line_help and the option :

Code: Select all

--ts-split-es, --no-ts-split-es Separate sub-streams (default enabled) Separate teletex/dvbs pages into independent ES. It can be useful to turn off this option when using stream output. (default enabled)
So I added "no-ts-split-es" to the command line, and it's now ok!!
So the command is :

Code: Select all

vlc dvb:// --ts-es-id-pid --dvb-frequency=506000000 --dvb-adapter=0 --dvb-bandwidth=8 --programs=513,519 --sout-mux-caching=1000 --sout-spu --no-ts-split-es --sout="#duplicate{dst=std{mux=ts,dst=/usr/home/jmi/Documents/video/testF4.ts,access=file},select="program=519"}"
I keep the "duplicate" thing for futur multi-recording.
I still not understand why I need to add the first program of the multiplex (here 513) to make it works, but it's not so important.

So problem solved! Thanks :mrgreen:
[\EDIT2]


Return to “General VLC media player Troubleshooting”

Who is online

Users browsing this forum: No registered users and 12 guests