Page 1 of 1

sout with fake module

Posted: 09 Jan 2009 17:46
by sly078
I try to use the fake module to create a video from a picture :

with vlc fake: --fake-file ellipse.png --fake-duration 3000 the video is played. But I want to save it :

with vlc -vvv --fake-file ellipse.png --fake-duration 3000 --sout "transcode{vcodec=mp2v,vb=4000}:std{access=file,dst=ellipse.mpg}" nothing appends.

with vlc -vvv fake: --fake-file ellipse.png --fake-duration 3000 --sout "transcode{vcodec=mp2v,vb=4000}:std{access=file,dst=ellipse.mpg}" I have in messages :

stream_out_standard error: no mux specified or found by extension
main error: stream chain failed for `std{mux="",access="transcode{vcodec=mp2v,vb=4000}",dst="std{access=file,dst=ellipse.mpg}"}'
main error: cannot start stream output instance, aborting

I tried to add --fake-fps 25 in the command line and nothing changes.

Does anyone know what I'm missing ?

Thanks,

Sly

PS : I work with VLC 0.8.6. With VLC 0.9.8, even the first command line doesn't work :
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 4544 (Interaction control) created at priority 0 (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\Administrateur\Application Data\vlc\ml.xspf' gives access `file' demux `xspf-open' path `C:\Documents and Settings\Administrateur\Application Data\vlc\ml.xspf'
main debug: creating access 'file' path='C:\Documents and Settings\Administrateur\Application Data\vlc\ml.xspf'
main debug: looking for access module: 2 candidates
access_file debug: opening file `C:\Documents and Settings\Administrateur\Application Data\vlc\ml.xspf'
main debug: using access module "access_file"
main debug: TIMER module_Need() : 2.854 ms - Total 2.854 ms / 1 intvls (Avg 2.854 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\Administrateur\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() : 2.649 ms - Total 2.649 ms / 1 intvls (Avg 2.649 ms)
main debug: `file/xspf-open://C:\Documents and Settings\Administrateur\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() : 1.400 ms - Total 1.400 ms / 1 intvls (Avg 1.400 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' : 16.192 ms - Total 16.192 ms / 1 intvls (Avg 16.192 ms)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4620 (preparser) created at priority 0 (playlist/thread.c:79)
main debug: waiting for thread initialization
main debug: thread started
main debug: thread 4632 (fetcher) created at priority 0 (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 4628 (playlist) created at priority 0 (playlist/thread.c:117)
main debug: looking for interface module: 1 candidate
main debug: using interface module "hotkeys"
main debug: TIMER module_Need() : 2.206 ms - Total 2.206 ms / 1 intvls (Avg 2.206 ms)
main debug: thread 4644 (interface) created at priority 0 (interface/interface.c:168)
main debug: thread started
main debug: adding item `fake:' ( fake: )
main info: Lancement de vlc avec l'interface par défaut. Utiliser « cvlc » pour utiliser VLC sans interface
main debug: looking for interface module: 3 candidates
main debug: using interface module "qt4"
main debug: TIMER module_Need() : 6.840 ms - Total 6.840 ms / 1 intvls (Avg 6.840 ms)
main debug: thread 4788 (interface) created at priority 0 (interface/interface.c:168)
main debug: thread started
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 'fake:'
main debug: thread started
main debug: waiting for thread initialization
main debug: `fake:' gives access `' demux `' path `fake:'
main debug: creating demux: access='' demux='' path='fake:'
main debug: looking for access_demux module: 1 candidate
dvdnav warning: cannot open dvdnav
main debug: TIMER module_Need() : 2.387 ms - Total 2.387 ms / 1 intvls (Avg 2.387 ms)
main debug: creating access '' path='fake:'
main debug: looking for access module: 5 candidates
vcd debug: trying .cue file: fake:.cue
vcd debug: could not find .cue file
access_directory error: fake:: No such file or directory
access_file debug: opening file `fake:'
access_file error: cannot open file fake: (Invalid argument)
cdda debug: trying .cue file: fake:.cue
cdda debug: could not find .cue file
cdda warning: could not open fake:
main debug: TIMER module_Need() : 5.495 ms - Total 5.495 ms / 1 intvls (Avg 5.495 ms)
main error: open of `fake:' failed: could not create access: no suitable access module
main debug: thread 4996 (input) created at priority 1 (input/input.c:370)
main debug: finished input
main debug: dying input
main debug: dying input
qt4 debug: Error while initializing qt-specific localization
main debug: thread ended
main debug: dead input
main debug: thread times: real 0m0.125000s, kernel 0m0.000000s, user 0m0.000000s
main debug: thread 4996 joined (playlist/engine.c:244)
main debug: TIMER input launching for 'fake:' : 189.702 ms - Total 189.702 ms / 1 intvls (Avg 189.702 ms)
main debug: starting new item
main debug: changing item without a request (current 0/1)
main debug: nothing to play

Re: sout with fake module

Posted: 10 Jan 2009 12:09
by Rémi Denis-Courmont
You're missing a # in front of transcode for a start.

Re: sout with fake module

Posted: 12 Jan 2009 09:39
by sly078
May be I have done a wrong copy paste. I try again with the '#' and nothing changes.

Re: sout with fake module

Posted: 13 Jan 2009 22:16
by Rémi Denis-Courmont
Yes it does. Surely not the same error.

Re: sout with fake module

Posted: 15 Jan 2009 09:33
by sly078
That's right. This command line works :
with vlc -vvv fake: --fake-file ellipse.png --fake-duration 3000 --sout "#transcode{vcodec=mp2v,vb=4000}:std{access=file,dst=ellipse.mpg}"

I have a video of 3 seconds with the same image.

With this command line :
vlc --logo-file ellipse.png,2000;logo_vide.png,2000 --logo-repeat 2 sequence.mpg --sout "#transcode{vcodec=mp2v,acodec=mpga,vb=6000,ab=256,sfilter=logo}:std{access=file,dst=seq6000_256.mpg}"

I add a logo on a video after 2 seconds and during 2 seconds. With logo-repeat 2, I don't know why, first logo_vide (=empty) is displayed, then it's the real logo and finally logo_vide is displayed again (Where is the first ellipse.png logo ? But I have what I want...).

I would like to combine these two commands : add a logo and have a pause of few seconds on it. Is it possible to add a logo on only one frame, extract this frame, duplicate it and put it back in the video ?

Thanks,

Sly

Re: sout with fake module

Posted: 15 Jan 2009 13:27
by borregoja
Try with fake:// and not with fake: , this work in windows and linux.

Re: sout with fake module

Posted: 15 Jan 2009 14:56
by sly078
Thanks borregoja, it finally works with fake: so I can transcode a fake command line. I really just missed the # ...

Re: sout with fake module

Posted: 10 Aug 2009 23:15
by MCyr
Is it possible to do something like multiple fake with a duration? Putting image1 for 20s, image2 for 20s and loop?

Re: sout with fake module

Posted: 11 Aug 2009 17:48
by Rémi Denis-Courmont
Not currently.

Re: sout with fake module

Posted: 11 Aug 2009 17:57
by MCyr
I guessed so... Thanks for the answer, at least I know where I stand. Seeing the discussion on this thread about slideshows, did get my hopes up :(

But would writing a wrapper based on fake be a good idea? I guess that a simple --fake-whole-god-damn-directory option with few invokes on the fake callback would do the trick no?

Re: sout with fake module

Posted: 12 Aug 2009 17:02
by Rémi Denis-Courmont
IMHO, the good idea would be to remove fake altogether, consider image files as first class citizens, and add a configurable timeout for pictures (I am not volunteering myself).

Re: sout with fake module

Posted: 12 Aug 2009 19:36
by MCyr
What would be the difference between that and fake? By being first class citizens, wouldn't that break image integration to the rendering chain?

By the way, this would be about what I was looking for earlier, (thanks erwan!):

Code: Select all

vlc -I dummy *.jpg --sout "#transcode{vcodec=mp2v,vb=4000000}:std{dst=movie.ts,mux=ts}" --fake-duration 10000 -vvv --sout-keep --loop --fake-height=480 --fake-width=720