|
|
| Moitah |
| Posted: May 3 2008, 02:36 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
I finally finished a new version of my FLV input plugin . It requires at least VirtualDub 1.8 because it uses the new VBR audio support. I added code to insert drop frames to help maintain constant framerate; this actually works great for the majority of variable framerate files I've seen (i.e. originally constant framerate but the encoder skipped some duplicate frames; it's not designed or tested for videos with mixed framerates). I also implemented the File Information window. Enjoy!
FLV Input Plugin - v1.1.0 (Binary and Source) |
 |
| Placio74 |
| Posted: May 3 2008, 03:54 AM |
 |
|

VideoAudio
  
Group: Members
Posts: 1216
Member No.: 21485
Joined: 24-May 07

|
Great! Thank You very match.
Work with most FLV files, but possible some exceptions.
With this:
 no problems with A/V synchro (even if used Direct stream copy).
With this:
 ehm... possible desynchro A/V. But enought set Change so video and audio durations match (+ eventually Convert to fps - but not necessary) and it's OK. But... why now it's 66.667 FPS? Before (older plugin) just 29.229 FPS...
-------------------- VideoAudio.pl - Serwis o technologii wideo & audio |
 |
| Moitah |
| Posted: May 3 2008, 04:04 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
I guess I should add some way to disable the padding, or configure the way it detects the framerate.
EDIT: To answer your question about why it chose 66.6667 as the framerate, it looks for the smallest gap between the frame timestamps. This video must have had one or more places where the difference between frames was only 15 ms. FLV Extract's "True Framerate" is calculated pretty similarly, but it ignores small gaps that make up less than 10% of the frames. I didn't include this check in the plugin because it actually works better this way with some files, but some apparently not . |
 |
| phaeron |
| Posted: May 3 2008, 06:12 AM |
 |
|

Virtualdub Developer
  
Group: Administrator
Posts: 7773
Member No.: 61
Joined: 30-July 02

|
I've thought about this a bit, and I think that the minimal distance between frames n and n+2 is probably more useful. If you assume a uniform distribution of error of up to t/2, then the minimal distance for adjacent frames can be zero, whereas two apart gives you something slightly more informative.
|
 |
| Moitah |
| Posted: May 3 2008, 08:04 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
That home_robot.flv file is really strange. The choice of framerate is okay after looking at the video timestamps. The problem is that the audio stream is timestamped incorrectly. The last audio timestamp is 1:45.510, but the length of the audio is only 1:43.183. Although the synch is fine in Media Player Classic, I hear a bunch of chirping, so maybe DirectShow is feeding some extra bytes to the audio decoder to compensate for there not being as many MP3 frames as you'd expect from looking at the timestamps. I think "Change so video and audio durations match" is indeed the best way to handle this video.
So I should mention that this is one case where the "Max Synch Error" calculation is misleading, because it assumes that the audio is timestamped correctly. Also, it doesn't take into account video and audio streams whose timestamps start at different times. The FLV specification does say that each stream's timestamps should always start at 0, but there are some rare files where this isn't the case. Basically, "Max Synch Error" just looks at synch error that's caused by having to play back the video at constant framerate rather than variable. It is actually calculated for both the original and drop-padded streams, and the better of the two is chosen (i.e. drops will only be inserted if it helps the synch) [EDIT: Not true as of 1.1.0, took it out when I was restructuring some code, but you can control the VFR->CFR conversion with the extended options dialog now], but I haven't seen any case where inserting drops makes the synch worse. |
 |
| trodas |
Posted: May 5 2008, 09:30 AM |
 |
|

Advanced Member
  
Group: Members
Posts: 88
Member No.: 22291
Joined: 22-October 07

|
Well, looks like something more usefull in the terms of FLV video is finally there, thank you! 
Now I just have a simple problem - the VirtualDub is complaining that "Unable to locate a video codec to decompress the video track." ... And to this moment I thought that my ffdshow tryout revision 1625 from Nov 18 2007 should do the job. Or do I need to configure it somehow, or...?
I should mention that FLV play well for me in BSplayer/MediaPlayerClassic and VLC player (and probably others too) and the options for FLV are enabled and even the FLV splitter is installed, from the guide there: http://www.afterdawn.com/guides/archive/ho...y_flv_files.cfm
-------------------- "It is dangerous to be right in matters on which the established authorities are wrong." - Voltaire ...just keep folding, just keep folding... :) my config - my caps |
 |
| stephanV |
| Posted: May 5 2008, 09:49 AM |
 |
|
Spam killer ;)
  
Group: Moderators
Posts: 4348
Member No.: 8917
Joined: 18-February 04

|
Did you enable the decoding in the VFW configuration of ffdshow as well?
-------------------- useful links: VirtualDub, Input plugins and filters, AviSynth, AVI-Mux GUI, AC3ACM by fcchandler, VirtualDub FAQ |
 |
| trodas |
Posted: May 5 2008, 12:41 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 88
Member No.: 22291
Joined: 22-October 07

|
Aaaargh! My bad. No 
| QUOTE | | ffdshow VfW > ffdshow video encoder configuration > Decoder > Codecs > FLV1 = libavcodec / VP6F = libavcodec |
Ah, that! Thanks a bunch! I never imagined this could be disabled... but it is! Thanks a lot!

-------------------- "It is dangerous to be right in matters on which the established authorities are wrong." - Voltaire ...just keep folding, just keep folding... :) my config - my caps |
 |
| Moitah |
| Posted: May 8 2008, 03:33 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
Version 1.1.0 released! Download link is the same, see first post.
It adds an extended options dialog where you can disable VFR->CFR padding, set it to automatic (default), or specify a target framerate.
It should work in Windows 9x again (_wfopen, oops) but still supports Unicode filenames in NT (forgot to mention I added that in 1.0.0).
Also, in addition to the maximum synch error, the median and average synch error are now displayed. |
 |
| ale5000 |
| Posted: May 2 2009, 07:37 PM |
 |
|

Advanced Member
  
Group: Members
Posts: 1114
Member No.: 22180
Joined: 30-September 07

|
@Moitah: Are you still working on this? There is a possibility to have h264 support?
-------------------- New VirtualDub forum VirtualDub AIO (All-in-One installer for VirtualDub and plugins) Codec Toolbox RS (A tool to read/change merit of codecs and many other things) Input plugins for VirtualDub / ACM codecs / VFW codecs |
 |
| yawnmoth |
| Posted: May 24 2009, 04:01 PM |
 |
|
Member
 
Group: Members
Posts: 13
Member No.: 22025
Joined: 30-August 07

|
I'm wondering the same thing. When I try to open a h246 encoded video I get the following error:
File "..." does not have a video stream.
That said, FLVExtract (also by Moitah) seems to work just fine. |
 |
| Placio74 |
| Posted: May 24 2009, 05:58 PM |
 |
|

VideoAudio
  
Group: Members
Posts: 1216
Member No.: 21485
Joined: 24-May 07

|
| QUOTE (yawnmoth @ May 24 2009, 06:01 PM) | I'm wondering the same thing. When I try to open a h246 encoded video I get the following error:
File "..." does not have a video stream. |
Current FLV input plugin support only H.263/FLV1 and VP6F/FLV4 video (and of course must have installed required VfW codec). (I do not think that this has changed.)
| QUOTE (yawnmoth @ May 24 2009, 06:01 PM) | | That said, FLVExtract (also by Moitah) seems to work just fine. |
Current FLV Extract can extract raw H.264/AVC video stream (after, can use Yamb (MP4Box) or mkvmerge and mux to MP4 or MKV container).
For FLV with AVC/AAC... - use DirectShow input driver (if have installed required DirectShow filters - latest FLV Splitter and ffdshow or other decoders for AVC/AAC) or... - Avisynth script (with used DirectShowSource, same as above) or... - re-mux to MP4 container (can use QuickTime input plugin or other editor (Avidemux for example))
-------------------- VideoAudio.pl - Serwis o technologii wideo & audio |
 |
| Moitah |
| Posted: May 28 2009, 09:05 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
Unfortunately, I'm not planning support for H.264/AAC in FLV Input Plugin. I won't say it's not going to happen though. Maybe if I get really bored or someone offers a decent bounty . |
 |
| hayamiya |
| Posted: Jul 7 2009, 12:44 AM |
 |
|
Member
 
Group: Members
Posts: 21
Member No.: 24091
Joined: 22-August 08

|
Hi, I don't know if my problematic files are in H.264 as I can't find which codec are using. Indeed, FLV Player doesn't recognize anything:

And the file headers don't help either.
It's a YouTube file, but, anyway, I thought that there were in VP6, not in H.264. Here a sample file:
http://www.megaupload.com/?d=YQLDF7JJ |
 |
| Moitah |
| Posted: Jul 7 2009, 01:40 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 210
Member No.: 8955
Joined: 20-February 04

|
That file contains H.264 video and AAC audio, which is common for YouTube now. |
 |