Change strange snapshot filename to useful/meaningful name

Feature requests for VLC.
dotmpe
New Cone
New Cone
Posts: 3
Joined: 20 Jul 2006 02:26
Location: Amersfoort, NL
Contact:

Change strange snapshot filename to useful/meaningful name

Postby dotmpe » 20 Jul 2006 02:58

The current snapshot filenaming is weird, and not understandable for someone not familiar with the intricacies of programming.

I can live with the 'vlcsnap-' prefix ('rename' is your friend), but I can only understand the number suffix from an implementation perspective. Creating a unique file is obviously easiest with a timestamp (or something like that, I figured from the source code).

However, from a user perspective, I at first thought the snapshot function was doing the Right Thing [tm], by taking the current framenumber. Not, I discovered. So now I have a bunch of pictures that came somewhere from within a video file, but I don't know where. In short: the timestamp has little relevance to the meaning/value of the snapshot, and hence should preferably not be in its filename.

Request
The VLC snapshot function is very convenient. It won't popup a dialog, it shows what it has captured. It just works, very nice, but the timestamp is strange, and unrecognizable to some (most?) users. Would it be not too difficult to use the framenumber in the filename? Ideally, the snapshot filename would be 'video_filename-framenumber.png'. That'd really be the Right Thing. :) Also, the latter case would evade the unique filename issue that still would exist if the same 'vlcsnap-' prefix would be used.

I would gladly make a modest donation (say 20 EUR) for such a snapshot implementation that will use the framenumber.


Kind regards, Berend

PS: I know there are other requests regarding snapshot filenaming, but I at least wanted to add this suggestion since I like meaningful defaults, and not additional options per se.

gliebetronics
New Cone
New Cone
Posts: 9
Joined: 10 Jul 2006 04:11

Postby gliebetronics » 20 Jul 2006 07:08

Ah, looks like I'm not alone in the quest for better snapshot implementation. I gather you saw my thread about the snapshot file names. I'm not sure if you saw but someone pointed out that you can actually change the file name prefix by putting it in the snapshot directory line in the options without a slash at the end.

My snapshot requirements are a little different from yours but I agree, the cryptic time stamps are no good. It would be great if we had some simple check boxes in the options for choosing between Time Stamp, Incremental, and Frame Number snapshot file names. Also in the case of incremental, an option for starting number and number of fixed digits would be nice. 8)

dotmpe
New Cone
New Cone
Posts: 3
Joined: 20 Jul 2006 02:26
Location: Amersfoort, NL
Contact:

Postby dotmpe » 20 Jul 2006 11:42

I've seen your thread, yes, as some other forum posts and bug tickets. Personally, I'd like to discuss some video documentaries online, and having framenumbering would help tremendously.
I'm not sure if you saw but someone pointed out that you can actually change the file name prefix by putting it in the snapshot directory line in the options without a slash at the end.
As I mentioned, preferably the snapshot filename should be something meaningful by default. The prefix doesn't worry me, I can rename the files with the 'rename' CLI tool. The framenumber is most important to me, it tells almost anything about the image. The 'videofilename' prefix helps to make it unique (why would one need multiple shots of the same frame from a video?), and makes a sensible default imo (I already chose the videofilename, it seems prudent to use this in the snapshotname).

After I posted though, I was thinking about this 'streaming" thing that VLC does, I have never used it, but it could be that taking the framenumber from a stream is either impossible/difficult and/or won't make much sense anyway. Someone more familiar with VLC might comment on this.


To summarize:
- Some want simple incremental numbering.
- For the simple locally played videos 'videofilename-framenumber.png' would be a sensible default.
- For streaming perhaps the best would be either incremental or the current timestamp numbering, but I am not familiar with VLC's streaming mode.

Edit: BTW, I'm not really sure about the incremental numbering and additional options. Won't some (bash/perl/...) scripting do the trick for eg. offsets? I wouldn't want to push additional feature bloat in this nice player, just some meaningful defaults.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 21 Jul 2006 18:53

I'll add an option to make the numbering incermental (see "the other thread").
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 22 Jul 2006 19:06

i've added two options:

Code: Select all

--snapshot-prefix <string> Video snapshot file prefix --snapshot-sequential, --no-snapshot-sequential Use sequential numbers instead of timestamps (default disabled)
These will be available in tonight's nightly build
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

dotmpe
New Cone
New Cone
Posts: 3
Joined: 20 Jul 2006 02:26
Location: Amersfoort, NL
Contact:

Alternatives

Postby dotmpe » 25 Jul 2006 14:18

I think the sequential names are an improvement, thanks.

For those interested, I looked around a bit for alternatives for easy grabbing of specific frames in the way i described above. a combination of shell and web scripting could do this. Not the most straighforward solution but I already use these tools (bash/apache/php/JS).

Avidemux2 [1] (a bit like win32's Virtualdub) has an ECMAScript engine, scripts can be ran from the GUI or the CLI.

This makes it possible to automate the framegrabbing with a batch, a list of filename/timecode pairs could be converted into a script like:

Code: Select all

var app = new Avidemux(); app.load(videofilename) app.goToTime(hours, minutes, seconds) app.video.saveJpeg(snapshotfilename)
With VLCs browser plugin one could conveniently create such a list of timecodes for a video using a bit of client and server-side scripting. See the VLC docs [2] for the info and the scripting API and the plugin demo pages [3].

I think I'll have a try with this somewhere this summer (http://dotmpe.com/note/Video_Frame_Grabbing).

C&C always appreciated.

[1] http://www.avidemux.org/wki/index.php?t ... g_Avidemux
[2] http://www.videolan.org/doc/play-howto/ ... l#id293936
[3] http://altair.videolan.org/~dionoea/vlc-plugin-demo/
"If you know, you know, and I don't have to tell you. And if by now, you're so damn stupid that you don't know, you don't deserve to be told. If you haven't figured it out by now." ---Dick Gregory

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 18 Jan 2007 18:08

i've added two options:

Code: Select all

--snapshot-prefix <string> Video snapshot file prefix
I've played with this and it seems quite handy. Thanks!

One question: are any variables (like one for timecode) accepted in the string?

'Preciate it.

--Jeremy

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 22 Jan 2007 14:43

I don't think that they are. You could test special variable (described on http://wiki.videolan.org/Documentation: ... mat_String) with a nightly build and see if it works. If it doesn't i'll change it.
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 23 Jan 2007 14:16

I don't think that they are. You could test special variable (described on http://wiki.videolan.org/Documentation: ... mat_String) with a nightly build and see if it works. If it doesn't i'll change it.
Using vlc-0.9.0-svn-20070123-0001-win32.exe I tried the following to launch it:

"C:\Program Files\VideoLAN\VLC\vlc.exe" --snapshot-prefix $T

This results in snapshots with names like:

$T82486.jpg

Thanks for looking into this.

Jeremy

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 23 Jan 2007 22:41

This (untested) commit should enable it in tomorrow's nightly build: http://trac.videolan.org/vlc/changeset/18631

Please tell me if it works.

Edit: Tested here and it's working.
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 25 Jan 2007 18:50

Got a couple of error messages when I used vlc-0.9.0-svn-20070125-0001-win32.exe.

First, when I started it, with

C:\Program Files\VideoLAN>"C:\Program Files\VideoLAN\VLC\vlc.exe" --snapshot-prefix $T

I got:

The procedure entry point __playlist_ItemNew could not be located in the dynamic link library libvlc.dll.

But the application still loaded. Then, when I tried to create a snapshot, it returned:

video output error: could not create snapshot C:\Documents and Settings\Jeremy\My Documents\My Pictures/00:05:2455054.png

It looks like it's trying to write a timestamped name! But something ain't quite right.

Regards,

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 26 Jan 2007 22:38

Does windows allow using ':' in filenames ? (it works on linux)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 26 Jan 2007 22:44

Does windows allow using ':' in filenames ? (it works on linux)
Ah yes, that is a problem. Windows doesn't allow ':' in filenames.

Mebbe the colon could be replaced with a hyphen or something?

Thanks for your work on this.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 26 Jan 2007 22:48

I'll add a small function to replace all forbidden chars in filenames. Since i'm kind of lazy i'd appreciate if someone could give me the list of forbidden characters on windows.
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 26 Jan 2007 23:02

I'll add a small function to replace all forbidden chars in filenames. Since i'm kind of lazy i'd appreciate if someone could give me the list of forbidden characters on windows.
Happy to assist:

* . " / \ [ ] : ; | =

Also, in the file name it tried to write before, that is:

C:\Documents and Settings\Jeremy\My Documents\My Pictures/00:05:2455054.png

There is a forward slash in the path, just before the filename. Windows prefers backward slashes (something that has always annoyed me), but it might be smart (?) enough to cope with this forward slash.

Regards,

Jeremy

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 26 Jan 2007 23:40

Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 02 Feb 2007 17:20

We're very close, but there's still some kinda problem. Could it be the forward slash just before the filename?

Here's the error I get:

[00000433] main video output error: could not create snapshot C:\Documents and Settings\Jeremy\My Documents\My Pictures/00_02_49_4993163.png

Using

vlc-0.9.0-svn-20070202-0000-win32.exe

And this command line launch:

C:\Program Files\VideoLAN>"C:\Program Files\VideoLAN\VLC\vlc.exe" --snapshot-prefix $T_

Thanks!

P.S. I reloaded vlc-0.8.5-win32.exe just to see if I could still do snaps with it and I can.

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 02 Feb 2007 22:44

hum, the slash shouldn't be a problem... weird. I'll try changing it to make sure (please try the build in 2 hours or something like that)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 02 Feb 2007 22:52

I'll try it later, but could it be related to the difference between starting it from the command line and starting it by double-clicking its icon?

I'm grasping at straws here...

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 02 Feb 2007 23:07

Not really. (maybe you could paste more error log ... and increase error verbosity by using -vvv or changing it in the prefs)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 03 Feb 2007 15:46

I tried the latest version (vlc-0.9.0-svn-20070203-0415-win32.exe) and got the same error, but I used -vvv to get a more verbose error log.

Here's the whole thing, although I assume you just need the stuff at the bottom. To my uneducated eye, it looks like there's a problem with ffmpeg encoder.

-- error log --

[00000387] main decoder debug: looking for decoder module: 28 candidates
[00000387] main decoder debug: using decoder module "libmpeg2"
[00000387] main decoder debug: thread 4272 (decoder) created at priority 0 (inpu
t/decoder.c:172)
[00000339] dvdnav demuxer debug: buttonUpdate 1
[00000387] libmpeg2 decoder debug: 720x480 (display 720,480), aspect 576000, sar
8:9, 29.971 fps
[00000387] main decoder debug: no usable vout present, spawning one
[00000389] main decoder debug: looking for decoder module: 28 candidates
[00000338] main input debug: crop: 73,252,218,36, palette forced: 1
[00000389] main decoder debug: using decoder module "a52"
[00000389] main decoder debug: thread 4324 (decoder) created at priority 2 (inpu
t/decoder.c:172)
[00000389] a52 decoder: A/52 channels:2 samplerate:48000 bitrate:192000
[00000389] main decoder debug: no aout present, spawning one
[00000391] main audio output debug: looking for audio output module: 3 candidate
s
[00000388] main video output debug: window size: 720x540
[00000388] main video output debug: looking for video output module: 6 candidate
s
[00000391] aout_directx audio output debug: OpenAudio
[00000388] vout_directx video output debug: creating DirectXEventThread
[00000393] main private debug: waiting for thread completion
[00000388] vout_directx video output debug: DirectXCreateWindow
[00000388] vout_directx video output debug: created video sub-window
[00000393] main private debug: thread 4372 (DirectX Events Thread) created at pr
iority 0 (directx.c:279)
[00000388] vout_directx video output debug: DirectXEventThread running
[00000388] vout_directx video output debug: DirectXInitDDraw
[00000388] vout_directx video output debug: directx-device:
[00000388] vout_directx video output debug: DirectXEnumCallback: Primary Display
Driver, display
[00000388] vout_directx video output debug: DirectXEnumCallback: RADEON X600 256
MB HyperMemory, \\.\DISPLAY1
[00000388] vout_directx video output debug: selecting RADEON X600 256MB HyperMem
ory, \\.\DISPLAY1
[00000388] vout_directx video output debug: DirectXEnumCallback: RADEON X600 256
MB HyperMemory Secondary, \\.\DISPLAY2
[00000388] vout_directx video output debug: screen dimensions (0x0,1280x1024)
[00000388] vout_directx video output debug: DirectDraw Capabilities: overlay=1 y
uvoverlay=1 can_deinterlace_overlay=1 colorkey=1 stretch=1 bltfourcc=1
[00000388] vout_directx video output debug: End DirectXInitDDraw
[00000388] vout_directx video output debug: DirectXCreateDisplay
[00000388] vout_directx video output debug: DirectXCreateClipper
[00000388] vout_directx video output debug: disabling screen saver
[00000388] main video output debug: using video output module "vout_directx"
[00000388] main video output debug: waiting for thread completion
[00000388] vout_directx video output debug: NewPictureVec overlay:yes chroma:YV1
2
[00000388] vout_directx video output debug: YUV overlay created successfully
[00000388] vout_directx video output debug: End NewPictureVec (succeeded)
[00000388] main video output debug: got 1 direct buffer(s)
[00000388] main video output debug: picture in 720x480 (0,0,720x480), chroma I42
0, ar 4:3, sar 8:9
[00000388] main video output debug: picture user 720x480 (0,0,720x480), chroma I
420, ar 4:3, sar 8:9
[00000388] main video output debug: picture out 720x480 (0,0,720x480), chroma I4
20, ar 4:3, sar 8:9
[00000388] main video output debug: direct render, mapping render pictures 0-6 t
o system pictures 1-7
[00000388] main video output debug: thread 4520 (video output) created at priori
ty 1 (video_output/video_output.c:447)
[00000394] main private warning: dts != current_pts (88523)
[00000394] main private warning: backward_pts != current_pts (-33368)
[00000395] main private debug: looking for video blending module: 1 candidate
[00000395] blend private debug: chroma: YUVP -> I420
[00000395] main private debug: using video blending module "blend"
[00000391] aout_directx audio output debug: found device: Primary Sound Driver
[00000391] aout_directx audio output debug: found device: SigmaTel Audio
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 Multi
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 1/2
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 3/4
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 5/6
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 7/8
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 S/PDIF
[00000391] aout_directx audio output debug: device supports 2 channels
[00000391] aout_directx audio output debug: device supports 1 channel
[00000391] aout_directx audio output debug: creating DirectSoundThread
[00000397] main private debug: thread 4908 (DirectSound Notification Thread) cre
ated at priority 15 (directx.c:371)
[00000397] aout_directx private debug: DirectSoundThread ready
[00000391] main audio output debug: using audio output module "aout_directx"
[00000391] main audio output debug: output 's16l' 48000 Hz Stereo frame=1 sample
s/4 bytes
[00000391] main audio output debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples
/8 bytes
[00000391] main audio output debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz
Stereo->Stereo
[00000398] main private debug: looking for audio filter module: 23 candidates
[00000398] main private debug: using audio filter module "converter_float"
[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output debug: looking for audio mixer module: 3 candidates

[00000391] main audio output debug: using audio mixer module "trivial_mixer"
[00000391] main audio output debug: input 'a52 ' 48000 Hz Stereo frame=1536 samp
les/768 bytes
[00000391] main audio output debug: filter(s) 'a52 '->'fl32' 48000 Hz->48000 Hz
Stereo->Stereo
[00000428] main private debug: looking for audio filter module: 23 candidates
No accelerated IMDCT transform found
[00000428] main private debug: using audio filter module "a52tofloat32"
[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz
Stereo->Stereo
[00000429] main private debug: looking for audio filter module: 23 candidates
[00000429] main private debug: using audio filter module "bandlimited_resampler"

[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output warning: PTS is out of range (429423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (397423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (365423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (333423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (301423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (269423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (237423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (205423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (173423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (141423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (109423), dropping buf
fer
[00000391] main audio output warning: PTS is out of range (77423), dropping buff
er
[00000391] main audio output warning: PTS is out of range (45423), dropping buff
er
[00000391] main audio output warning: PTS is out of range (13423), dropping buff
er
[00000391] main audio output warning: PTS is out of range (-18577), dropping buf
fer
[00000338] main input debug: crop: 73,252,218,36, palette forced: 1
[00000339] dvdnav demuxer debug: buttonUpdate 1
[00000339] dvdnav demuxer debug: DVDNAV_HOP_CHANNEL
[00000339] dvdnav demuxer debug: DVDNAV_CELL_CHANGE
[00000339] dvdnav demuxer debug: - cellN=3
[00000339] dvdnav demuxer debug: - pgN=1
[00000339] dvdnav demuxer debug: - cell_length=360000
[00000339] dvdnav demuxer debug: - pg_length=4317000
[00000339] dvdnav demuxer debug: - pgc_length=4317000
[00000339] dvdnav demuxer debug: - cell_start=3957000
[00000339] dvdnav demuxer debug: - pg_start=0
[00000339] dvdnav demuxer debug: DVDNAV_SPU_CLUT_CHANGE
[00000339] dvdnav demuxer debug: DVDNAV_SPU_STREAM_CHANGE
[00000339] dvdnav demuxer debug: - physical_wide=0
[00000339] dvdnav demuxer debug: - physical_letterbox=0
[00000339] dvdnav demuxer debug: - physical_pan_scan=0
[00000338] main input debug: crop: 73,252,218,36, palette forced: 1
[00000339] dvdnav demuxer debug: buttonUpdate 1
[00000342] main decoder debug: removing module "spudec"
[00000342] main decoder debug: thread times: real 0m2.968750s, kernel 0m0.000000
s, user 0m0.000000s
[00000342] main decoder debug: thread 4232 joined (input/decoder.c:204)
[00000342] main decoder debug: killing decoder fourcc `spu ', 0 PES in FIFO
[00000430] main decoder debug: looking for decoder module: 28 candidates
[00000430] main decoder debug: using decoder module "spudec"
[00000430] main decoder debug: thread 4232 (decoder) created at priority 0 (inpu
t/decoder.c:172)
[00000339] dvdnav demuxer debug: DVDNAV_AUDIO_STREAM_CHANGE
[00000339] dvdnav demuxer debug: - physical=0
[00000338] main input debug: crop: 42024,190,-41994,-190, palette forced: 1
[00000339] dvdnav demuxer debug: buttonUpdate 1
[00000394] main private warning: dts != current_pts (-310781)
[00000389] a52 decoder debug: emulated sync word (no sync on following frame)
[00000391] main audio output warning: computed PTS is out of range (66423), clea
ring out
[00000391] main audio output warning: PTS is out of range (66423), dropping buff
er
[00000391] main audio output warning: output PTS is out of range (102423), clear
ing out
[00000391] main audio output debug: audio output is starving (169734), playing s
ilence
[00000394] main private debug: decoded 110/112 pictures
[00000339] dvdnav demuxer debug: DVDNAV_NOP
[00000339] dvdnav demuxer debug: DVDNAV_VTS_CHANGE
[00000339] dvdnav demuxer debug: - vtsN=1
[00000339] dvdnav demuxer debug: - domain=2
[00000387] main decoder debug: removing module "libmpeg2"
[00000387] main decoder debug: thread times: real 0m7.140625s, kernel 0m0.015625
s, user 0m0.296875s
[00000387] main decoder debug: thread 4272 joined (input/decoder.c:204)
[00000387] main decoder debug: killing decoder fourcc `mpgv', 5 PES in FIFO
[00000430] main decoder debug: removing module "spudec"
[00000430] main decoder debug: thread times: real 0m4.328125s, kernel 0m0.000000
s, user 0m0.000000s
[00000430] main decoder debug: thread 4232 joined (input/decoder.c:204)
[00000430] main decoder debug: killing decoder fourcc `spu ', 0 PES in FIFO
[00000389] main decoder debug: removing module "a52"
[00000389] main decoder debug: thread times: real 0m7.125000s, kernel 0m0.218750
s, user 0m0.078125s
[00000389] main decoder debug: thread 4324 joined (input/decoder.c:204)
[00000389] main decoder debug: killing decoder fourcc `a52 ', 0 PES in FIFO
[00000428] main private debug: removing module "a52tofloat32"
[00000429] main private debug: removing module "bandlimited_resampler"
[00000391] aout_directx audio output debug: closing audio device
[00000397] aout_directx private debug: DirectSoundThread exiting
[00000397] main private debug: thread times: real 0m6.750000s, kernel 0m0.000000
s, user 0m0.000000s
[00000397] main private debug: thread 4908 joined (directx.c:597)
[00000391] main audio output debug: removing module "aout_directx"
[00000398] main private debug: removing module "converter_float"
[00000391] main audio output debug: removing module "trivial_mixer"
[00000338] main input debug: Program doesn't contain anymore ES
[00000339] dvdnav demuxer debug: DVDNAV_CELL_CHANGE
[00000339] dvdnav demuxer debug: - cellN=1
[00000339] dvdnav demuxer debug: - pgN=1
[00000339] dvdnav demuxer debug: - cell_length=5856000
[00000339] dvdnav demuxer debug: - pg_length=5856000
[00000339] dvdnav demuxer debug: - pgc_length=134676000
[00000339] dvdnav demuxer debug: - cell_start=0
[00000339] dvdnav demuxer debug: - pg_start=0
[00000339] dvdnav demuxer debug: DVDNAV_SPU_CLUT_CHANGE
[00000339] dvdnav demuxer debug: DVDNAV_SPU_STREAM_CHANGE
[00000339] dvdnav demuxer debug: - physical_wide=-1
[00000339] dvdnav demuxer debug: - physical_letterbox=-1
[00000339] dvdnav demuxer debug: - physical_pan_scan=-1
[00000339] dvdnav demuxer debug: buttonUpdate not done b=1 t=1
[00000339] dvdnav demuxer debug: DVDNAV_AUDIO_STREAM_CHANGE
[00000339] dvdnav demuxer debug: - physical=0
[00000339] dvdnav demuxer debug: buttonUpdate not done b=1 t=1
[00000431] main decoder debug: looking for decoder module: 28 candidates
[00000431] main decoder debug: using decoder module "libmpeg2"
[00000431] main decoder debug: thread 4920 (decoder) created at priority 0 (inpu
t/decoder.c:172)
[00000339] dvdnav demuxer debug: buttonUpdate not done b=1 t=1
[00000431] libmpeg2 decoder debug: 720x480 (display 720,480), aspect 576000, sar
8:9, 29.971 fps
[00000432] main private warning: dts != current_pts (-10633)
[00000432] main private warning: backward_pts != current_pts (-33367)
[00000433] main decoder debug: looking for decoder module: 28 candidates
[00000433] main decoder debug: using decoder module "a52"
[00000433] main decoder debug: thread 4832 (decoder) created at priority 2 (inpu
t/decoder.c:172)
[00000433] a52 decoder: A/52 channels:2 samplerate:48000 bitrate:192000
[00000391] main audio output debug: looking for audio output module: 3 candidate
s
[00000391] aout_directx audio output debug: OpenAudio
[00000391] aout_directx audio output debug: found device: Primary Sound Driver
[00000391] aout_directx audio output debug: found device: SigmaTel Audio
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 Multi
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 1/2
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 3/4
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 5/6
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 7/8
[00000391] aout_directx audio output debug: found device: M-Audio FW 410 S/PDIF
[00000391] aout_directx audio output debug: device supports 2 channels
[00000391] aout_directx audio output debug: device supports 1 channel
[00000391] aout_directx audio output debug: creating DirectSoundThread
[00000434] main private debug: thread 4388 (DirectSound Notification Thread) cre
ated at priority 15 (directx.c:371)
[00000434] aout_directx private debug: DirectSoundThread ready
[00000391] main audio output debug: using audio output module "aout_directx"
[00000391] main audio output debug: output 's16l' 48000 Hz Stereo frame=1 sample
s/4 bytes
[00000391] main audio output debug: mixer 'fl32' 48000 Hz Stereo frame=1 samples
/8 bytes
[00000391] main audio output debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz
Stereo->Stereo
[00000435] main private debug: looking for audio filter module: 23 candidates
[00000435] main private debug: using audio filter module "converter_float"
[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output debug: looking for audio mixer module: 3 candidates

[00000391] main audio output debug: using audio mixer module "trivial_mixer"
[00000391] main audio output debug: input 'a52 ' 48000 Hz Stereo frame=1536 samp
les/768 bytes
[00000391] main audio output debug: filter(s) 'a52 '->'fl32' 48000 Hz->48000 Hz
Stereo->Stereo
[00000436] main private debug: looking for audio filter module: 23 candidates
No accelerated IMDCT transform found
[00000436] main private debug: using audio filter module "a52tofloat32"
[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz
Stereo->Stereo
[00000437] main private debug: looking for audio filter module: 23 candidates
[00000437] main private debug: using audio filter module "bandlimited_resampler"

[00000391] main audio output debug: found a filter for the whole conversion
[00000391] main audio output warning: output date isn't PTS date, requesting resampling (51604)
[00000391] main audio output warning: buffer is 51604 late, triggering upsampling
[00000338] main input debug: control type=1
[00000438] main encoder debug: looking for encoder module: 10 candidates
[00000438] ffmpeg encoder debug: libavcodec initialized (interface 3349760 )
[00000438] ffmpeg encoder debug: found encoder PNG Image
[00000438] main encoder debug: using encoder module "ffmpeg"
[00000440] main private debug: looking for video filter2 module: 3 candidates
[00000440] main private debug: no video filter found
[00000388] main video output error: could not create snapshot C:\dv\00_00_08_5798665.png
[00000438] main encoder debug: removing module "ffmpeg"

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 03 Feb 2007 20:55

What if you try changing the snapshot format to jpeg ?
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Postby jbutler » 04 Feb 2007 20:20

Similar error when saving as a JPEG:

[00000335] main interface debug: opening config file (C:\Documents and Settings\
Jeremy\Application Data\vlc\vlcrc)
[00000335] main interface debug: opening config file (C:\Documents and Settings\
Jeremy\Application Data\vlc\vlcrc)
[00000438] main encoder debug: looking for encoder module: 10 candidates
[00000438] ffmpeg encoder debug: libavcodec initialized (interface 3349760 )
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
[00000438] ffmpeg encoder debug: found encoder Motion JPEG Video
[00000438] main encoder debug: using encoder module "ffmpeg"
[00000440] main private debug: looking for video filter2 module: 3 candidates
[00000440] main private debug: no video filter found
[00000388] main video output error: could not create snapshot C:\dv\00_00_09_682
9451.jpg
[00000438] main encoder debug: removing module "ffmpeg"

jbutler
Blank Cone
Blank Cone
Posts: 28
Joined: 18 Jan 2007 18:05
Location: Northport, Alabama, USA
Contact:

Re: Change strange snapshot filename to useful/meaningful name

Postby jbutler » 09 Jul 2007 03:05

It's been 6 months since I've had time to work on this issue. I'm happy to report that there's been some good progress!

This time around, I used

vlc-0.9.0-svn-20070708-0000-win32.exe

And for some mystical reason, the $T variable ("time") worked! I got filenames that were based on the timecode of the DVD. Excellent!

I tested this using the following prefix

Ep01_$T_

because I was capturing frames from the first episode of Leave It to Beaver (I'm doing some research on the sitcom genre). This resulted in the following filename, from 50 seconds into the DVD:

Ep01_00_00_50_842403.png

I've since checked the "Sequential numbering" option, too, which gives files such as:

Ep01_00_00_50_000001.png

I guess it's still a good idea to do the sequential numbering or have a timestamp in order to avoid duplicate filenames. But maybe there could be an option to remove both of them, and just have the $T variable?

Now, the only problem I have with VideoLAN is that choosing the JPG format totally crashes the app. (PNG works fine.) The error message is:

Error signature

AppName: vlc.exe AppVer: 0.9.0.0 ModName: libffmpeg_plugin.dll
ModVer: 0.0.0.0 Offset: 002e5fce

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Re: Change strange snapshot filename to useful/meaningful name

Postby dionoea » 09 Jul 2007 12:21

I'll see if i can fix the jpeg saving issue ... can't make any promises though :)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)


Return to “VLC media player Feature Requests”

Who is online

Users browsing this forum: No registered users and 18 guests