Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

Pages: (26) [1] 2 3 ... Last » ( Go to first unread post )
Ffmpeg Input Driver, Experimental driver based on ffmpeg libs
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
raythe0n
Posted: May 10 2011, 10:20 AM


Member


Group: Members
Posts: 19
Member No.: 31262
Joined: 10-May 11



REQUIRES VIRTUALDUB V1.10.xx+ for v0.8.0.5 or later

Installation:

Place unarchived package under VirtualDub program directory.

NOTES:


    -Supported YUV420P, Y8, UYVY, YUYV, RGB555, RGB565, RGB888 color spaces;
    -Simple downmix of multichannel audio stream alg implemented;
    -Both video and audio are always decompressed;
    - Implemented Media File Information dialog (File->File Information) for the first video / audio stream in the container file;
    -Source solution for vs2010 included (but earlier versions of the VS can be used);
    -Opening file formats: anm; asf; avi; bik; dts; dxa; flv; fli; flc; flx; h261; h263; h264; m4v; mkv; mjp; mlp; mov; mp4; 3gp; 3g2; mj2; mvi; pmp; rm; rmvb; rpl; smk; swf; vc1; wmv; ts; vob; mts; m2ts; m2t;*.mxf;*.ogm;*.qt;*.tp;*.dvr-ms;*.amv


To build the driver you will need the assembly of ffmpeg libraries for win32. (recommended assembly by http://ffmpeg.zeranoe.com/builds )

v0.7 [mod edit] newer version lower down the page
[01/22/2012]

Changelog:

-ffmpeg v0.9.1 with significant speed improvements;
-added x64 version;

x64 Plugin Binary:
http://code.google.com/p/ffinputdriver/dow...-bin-0.7-64.zip

x86 Plugin Binary:
http://code.google.com/p/ffinputdriver/dow...-bin-0.7-32.zip

------------
[mod edit]

Latest version

V1.8.2.5

Download from Sourceforge 32bit and 64bit plugin

V1.8.2.5 [8 March 2015]
Update ffdlls to 2.6.0
Add checkbox to enable/disable priority - with it enabled, virtualdub is giving us .avs files even though we don't want them
Change version number so it's higher than a very old version that was released

V0.8.2.4 [25 February 2015]
Added set plugin priority in the extended options dialog and file information dialog
Added plugin is selectable from audio menu 'from another file'
Fix better handling of truncated audio stream
Fix seek recursion endless loop
Modify fallback of reading options from HKLM registry in case an installer wants to set any options on install
Fix bug in seeking loop (accidental = instead of ==)

V0.8.2.3 [14 February 2015]
Update ffdlls to 2.5.4
Fix small bug in offset audio when dropped frames are at the beginning
Modify ensure width/height are mod2 when aspect scaling is enabled
Modify use lanczos scaling when aspect ratio is enabled

V0.8.2.2 [31 January 2015]
Modified use longest duration of audio when stream and format lengths are different
Modify pad end of audio packet when at the end of an audio stream
Fix reading very first audio packet when seeking
Fix honouring the sync video/audio option when turned off
Modify try reducing some seeks in the audio
Modify add extra codec info to file information dialog
Fix video stream may change height/width during decoding, caused green bars at bottom or right
Fix decode error in sws_scale that could crash on certain height/widths when playing in virtualdub
Modify file information dialog to add some more info
Modify audio delay when first frames are dropped

V0.8.2.1 [24 January 2015]
Workaround seeking in wmv files could be way off - ask ffdlls for frame 2000 and actually get 2500..sigh...
Fix setting the first audio stream to the best choice relating to the video when there are multiple audio streams
Modify don't autosync audio that's more than 15 minutes out of sync
> fix for some .ts files where audio streams are marked as starting a log way off from the video

V0.8.2.0 [20 January 2015]
Update ffdlls to 2.5.3
Fix bug where seeking would get stuck in a loop
> silly mistake, a - should have been a + so instead of moving back trying to find the frame it moved forwards
> couldn't find the frame and would try again, still moving forwards..... oops
Fix once the above bug was fixed, retrying could be improved to it quits faster on undecodable video frames
> with the bug above, the code for undecodable frames was called for valid frames
Fix with both of those fixed, some nasty peekmessage code could be stripped out
> it was only there to keep the buttons working in virtualdub when the plugin was stuck in a loop
> so you could move to a different frame and get it out of the loop
> it was a very nasty hack!!
>and all because of a minus sign.....
Fix files with extra video streams of 1 frame thumbnail images could confuse the plugin
Change files with no keyframe index information are scanned when opened to let the ffmpeg dlls build one
>this is an option in the plugins preferences (on by default)
>may cause a delay on opening a file, but quicker seeking when open
Fix trying to cut down on possibly unneeded seeks to try and make playing a video in virtualdub smoother (less stuttering on audio)
Fix sometimes a missing frame in the video would manage to skip the code that reports an error to virtualdub
>then virtualdub would try again, looping until it was killed
Fix bug not clearing buffers after a seek sometimes

V0.8.1.9 [29 December 2014]
Update ffdlls to 2.5.2
Fix very old audio positioning bug
Fix filling mono empty data with correct value
Fix try to correct sync of audio at the start when it's been offset
Fix crash at end of video
Fix repeat last frame at end of video where b-frames cause a shift at the start
Fix strange error where you'd get 90000fps for the source file (thanks shek for finding it)
Fix error that would slow decoding if frame rates were being altered eg by IVTC
Fix seek error in some formats where seeking on the audio failed
Fix seek to first frame for some formats
Remove .avs from default file extensions, avisynth already needs to be installed and virtualdub already handles .avs better
Fix setting first starting frame to only skip leading undecodable b-frames as there are vids with no I-frames (just P&B)
Improve seeking in audio with some formats

v0.8.1.8 [16 December 2014]
Update ffdlls to 2.5.1
Fix first starting frame where there are leading b-frames

v0.8.1.7 [30 August 2014]
Update ffdlls to 2.3.2
- delete the old ones, these have new numbering
Added option(on by default) to sync the audio timestamp start to the video one
- fixes some out of sync problems where the audio is off by the same amount all the way through the video

v0.8.1.6 [17 July 2014]
Update ffdlls to 2.3.0
FFDlls now need swresample-0.dll also
swresample-0.dll added

v0.8.1.5 [26 May 2014]
Update ffdlls to 2.2.2

v0.8.1.4 [20 Apr 2014]
Added error checking for missing ffmpeg dlls
Larger maximum index size for seeking
Timeout for decoding video/audio frames of 2 minutes so job's don't get stuck on queue
(->not perfect, virtualdub can still get in a seemingly endless loop on some errors)
Reporting decoding errors back to virtualdub on discontinuity
Error handling option for allowing an occasional missing frame(s)
More accurate discontinuity handling, will backtrack further through the file before giving up on a missing frame
Better fps detection
Some better handling of decoding errors

v0.8.1.3 [29 Mar 2014]
Fix another edge case with seeking getting stuck on a frame
The day after 0.8.1.2 was released, a failing file was sent to me
Sample .mts file had packets needed for a pts time scattered throughout the file
It's fixed now, but a file like that can be slow to decode as it was made so you have to read almost the entire file to get 1 frame of video
Fix doesn't affect speed of decoding files that aren't like that (I think it's a test sample made to try and break decoders)
On the other hand FFMpeg plugin is more robust at decoding bizarre .mts files

v0.8.1.2 [28 Mar 2014]
Fixed some formats with large keyframe intervals or weird pts/dts had trouble seeking and would only show keyframes after the first seek
Extra seeking further back to find a valid keyframe is done now if an initial seek fails
Some seeking optimizations
Updated FFMpeg dlls to 27/03/2014 - v2.2.0 isn't on zeranoes site, so these are the first dlls after v2.2.0

v0.8.1.1 [20 Mar 2014]
After a night sleep, thought of a better way to get the very end frames of the source file
Sorry about the quick release but it's better now and didn't want to hold it just because it was so soon

v0.8.1.0 [19 Mar 2014]
Problem that caused incomplete video frames to be returned to virtualdub (garbled moving blocks) especially after seeking
Problem with some formats (eg mkv) when seeking back to the start of the file
Problem with the wrong video frame being shown (repeatedly) after turning audio display off and back on
Better handling of video/audio at the end frames of the file
Added installer c/o raffriff42

v0.8.0.9 [3 Mar 2014]
Bugfix for audio downsampling mistake I introduced in 0.8.0.7
Replaced download with one that doesn't require AVX cpu - sorry about that

v0.8.0.8 [27 Feb 2014]
Updated ffdlls to 2.1.4

v0.8.0.7 [23 Jan 2014]
Added option, default video decoding format for unusual formats
(There are many formats that virtualdub doesn't handle, now you can choose how they are decoded)
Updated ffdlls to 2.1.3

0.8.0.6
Fixed crash from FFDshow dlls logging
Added more native virtualdub video formats, so less are converted to rgb
-> yuv 410p, 422p, 444p, nv12, nv21
Changed default format to rgb32 from rgb24

0.8.0.5
Added option for FFMPeg autodetecting 709 colorspace - if that info is in the source file
Added option for setting 709 colorspace for source file height>=720
Use the ask for extended options checkbox on opening a video to set them
Disabled by default


0.8.0.4
Fixed so registry works on XP
Includes required ffmpeg dlls

0.8.0.3
Settings saved in registry

0.8.0.2 (a)
The "Adjust Pixel Aspect Ratio" option is disabled by default
0.8.0.2a plugin

0.8.0.2
- Implemented full support for multichannel.
- Fixed a memory leak.
- When opening a file with the plugin, if you select "Ask for extened options after this dialog", you get the following options for audio
-- Downmix Audio - if selected, downmixes multichannel to stereo (off by default).
-- Limit Audio To 16-bit - converts 32-bit audio source to 16-bit samples (off by default).

Note that virtualdub has some limitations when dealing with multichannel or 32-bit source audio:
- Some audio compression codecs do not accept multichannel or 32-bit samples as input.
- Virtualdub menu Audio->Conversion does not know how to mix multichannel down to stereo, or convert 32-bit audio to 16-bit.
- Therefore, above options in "Open video file" were implemented to convert to stereo or 16-bit if necessary.
0.8.0.2 plugin
0.8.0.2 source

0.8.0.0
- Upgraded to current versions of ffmpeg - avcodec-55, avformat-55, avutils-52, swscale-2.
- Minimized usage of deprecated features in ffmpeg.
- Added support for planar audio formats.
- Added support for 32-bit audio samples.
- There's tentative support for multichannel, but Virtualdub hangs when fed multichannel audio by an input plugin. So for now, multichannel is down-mixed to stereo as before. See Below.
- Fixed a bug that caused garbled audio and occasional crashes near the end of playback.
- Split the sources to make them more manageable.
- VS2012 project files.
 
     Top
dloneranger
Posted: May 10 2011, 11:17 AM


Moderator


Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07



Very interesting cool.gif

For an initial release it's remarkably good

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
v0lt
  Posted: May 13 2011, 04:02 PM


Advanced Member


Group: Members
Posts: 119
Member No.: 26125
Joined: 5-September 09



Good alternative for "Directshow Input Driver".

You can do a simple "File Information..." window?
 
     Top
raythe0n
Posted: May 16 2011, 09:12 AM


Member


Group: Members
Posts: 19
Member No.: 31262
Joined: 10-May 11



Thx. )

I'm planning the next release with bug fixes. And then I'll add file information and some options for management.

Knowing issues:
- Crash when opening an uncompressed avi;
- Delay in audio playback when you cut fragments of video (about 2 seconds, depending on the number of frames between I-frames);

The Ffmpeg project is developing rapidly so we would expect the addition of new formats and improving the work already supported formats.
 
     Top
-vdub-
Posted: May 18 2011, 08:01 AM


Advanced Member


Group: Members
Posts: 613
Member No.: 27087
Joined: 24-February 10



This does sound good will have to try smile.gif



! In the past ffmpeg has suffered from major bugs that foxed the developers for a long while. How about also allowing the user able to load any other version of ffmpeg executable they like to work with. For any bugs or to use an older ffmpeg version for a dropped format that is no longer included, so on.


::Note::

Have found taht either dropping doesn't load mpeg2 and .ts files. Using open file with 'FFMpeg Supported Files' doesn't show mpeg2 or .ts files. While FFPlay.exe (cli) or wmp will see and play both mpeg2 and .ts files.
 
    Top
L.H.V.F.
Posted: May 21 2011, 01:21 AM


Advanced Member


Group: Members
Posts: 49
Member No.: 28822
Joined: 19-October 10



Hi, raythe0n

One question:
With your FFMPEG Input Driver , would be possible to make of someway, create a capacity open videos of the type ".rmvb" (Real Media in general), using, for example, FFDShow or the FFMPEG lib, correctly configurated, or make it possible one day ? I know that Real Media became based in MPEG-4 there is some time.

I thank reply,
L.H.V.F.
 
     Top
raythe0n
Posted: May 23 2011, 12:42 PM


Member


Group: Members
Posts: 19
Member No.: 31262
Joined: 10-May 11



QUOTE (L.H.V.F. @ May 21 2011, 01:21 AM)
Hi, raythe0n

One question:
With your FFMPEG Input Driver , would be possible to make of someway, create a capacity open videos of the type ".rmvb" (Real Media in geral), using, for example, FFDShow or the FFMPEG lib,correctly configurated, or make it possible one day ? I know that Real Media became based in MPEG-4 there is some time.

I thank reply,
L.H.V.F.

Hi L.H.V.F.

I will add the template to open rmvb files as well as the .ts (transport stream) and .vob files . Unfortunately Real Media format is not fully supported by ffmpeg. Some frames appear in the wrong time.

Thanks.
 
     Top
-vdub-
Posted: May 23 2011, 02:28 PM


Advanced Member


Group: Members
Posts: 613
Member No.: 27087
Joined: 24-February 10



Thanks Ray for your reply. Looking forward to your next release with mpeg-2 and ts support smile.gif


btw Ray just an after thought the videos i have to process all are mainly mpeg-2 SD with mpa or mp2 audio not often with ac3. Though ac3 would be need for HD .ts streams.

Had a quick look at your source and see very few formats of what ffmpeg does support. Can it be made to have all those formats supported in your ffmpeg input driver ?


Ask since other virtualdub users will need support for all if possible. Actualy it could easily replace ffdshow_tryouts and would be a clear winner over ffdshow. For those like me who need a simple alternative and those who need minimal install or small portable virtualdub with plugin filters.
 
    Top
L.H.V.F.
Posted: May 24 2011, 03:17 AM


Advanced Member


Group: Members
Posts: 49
Member No.: 28822
Joined: 19-October 10



Hi, raythe0n

Now I have saw that your plugin in the documentation supports Real Media (encode/decode). I have a file for sample, for test the FFMPEG Input Driver:

http://www.4shared.com/audio/fBBwTusc/videotest.html

The error of the video, in my tests (runs the time line, but not play the video correctly):

http://s18.postimage.org/bycqft2c9/problem_FFmpeg_ID.png

This video up is included in old versions of Real Player. I notice that the video stay freezed, but the time line runs. I guess that the part of audio, needs a codec of the type "ACM" separated, or is not native from FFMPEG lib. Could you see what the file information of MediaInfo says?:

Video
ID : 2
Format : RealVideo 1
Codec ID : RV10
Codec ID/Info : Based on H.263, Real Player 5
Duration : 5s 0ms
Bit rate : 8 979 bps
Width : 176 pixels
Height : 144 pixels
Display aspect ratio : 1.222
Frame rate : 2.000 fps
Bits/(Pixel*Frame) : 0.177
Stream size : 5.48 KiB (32%)

Audio
ID : 1
Format : ACELP
Codec ID : sipr
Codec ID/Info : Real Player 4
Duration : 4s 482ms
Bit rate: 4 616 bps
Channel(s) : 1 channel
Sampling rate : 8 000 Hz
Bit depth : 16 bits
Stream size : 2.53 KiB (15%)

I had other files for tests, but these are ancient Real Media codecs in geral, and the same in the Real Player new versions, for can play, decode by converting the file for MPEG-4 codec based. You can arrange this problem using schemas utilized for the fccHandler developer, 'Audio from other file' like, for more gama support, in case of the conversion for unknown audio.

Thanks for reply,
L.H.V.F.
 
     Top
raythe0n
Posted: May 25 2011, 03:48 PM


Member


Group: Members
Posts: 19
Member No.: 31262
Joined: 10-May 11



QUOTE (-vdub- @ May 23 2011, 02:28 PM)
Thanks Ray for your reply. Looking forward to your next release with mpeg-2 and ts support smile.gif


btw Ray just an after thought the videos i have to process all are mainly mpeg-2 SD with mpa or mp2 audio not often with ac3. Though ac3 would be need for HD .ts streams.

Had a quick look at your source and see very few formats of what ffmpeg does support. Can it be made to have all those formats supported in your ffmpeg input driver ?


Ask since other virtualdub users will need support for all if possible. Actualy it could easily replace ffdshow_tryouts and would be a clear winner over ffdshow. For those like me who need a simple alternative and those who need minimal install or small portable virtualdub with plugin filters.

Hi vdub, L.H.V.F.

Unfortunately SDK available for input plugin does not allow to use probing file formats functions. So while the file extension is compared with the pattern to open it. One way to open an unknown file just rename its extension. )

HD ts file that I use for the test contains an AC3 audio strem. ffmpeg is experiencing some problems with playback and seeking it. I hope they fix the problem in future.

L.H.V.F. i check your rm file and ffmpeg says that sizes of audio packets are corrupted and ffplay playing video with same freezes. File specification are identical.

thanks
 
     Top
-vdub-
Posted: May 26 2011, 12:19 AM


Advanced Member


Group: Members
Posts: 613
Member No.: 27087
Joined: 24-February 10



TS + AC3 problems with ffmpeg, try the hd video with this filter installed http://fcchandler.home.comcast.net/~fcchan...3ACM/index.html

If ffmpeg also has any problems with aac audio, Fcchandler installable aac filter for use with virtualdub http://fcchandler.home.comcast.net/~fcchandler/AACACM/
 
    Top
L.H.V.F.
Posted: May 27 2011, 01:38 AM


Advanced Member


Group: Members
Posts: 49
Member No.: 28822
Joined: 19-October 10



Hi, raythe0n

I have tested the new format support to open ".rmvb", and I can play the video normally, but apparently the video stays overloaded. The video that I have tested is of the site Bleach PROJECT, that makes subtitle for anime videos in portuguese, and this site have used .avi (DivX), .rmvb, and now produces videos for Bleach anime episodes with Matroska (.mkv using mkvmerge for encode). One thing that I have noticed is that does not exist "File Information" functioning, as you have notificate, it's will be added.

I thank reply,
L.H.V.F.
 
     Top
vibe
Posted: May 27 2011, 12:22 PM


Newbie


Group: Members
Posts: 1
Member No.: 31501
Joined: 27-May 11



Wow this is impressive, many thanks for your efforts.

Is there any chance DIRECT STREAM COPY could be supported under video so I could finally fix my old videos with vorbis audio 0x566f which still has no ACM available (for nearly a decade now sad.gif )

Your driver definitely can read the audio, just no way to preserve original video quality.

Just let me know if it's on the "to do" list because I've waited this many years for a solution, I can wait longer, lol.
 
     Top
-vdub-
Posted: May 27 2011, 04:57 PM


Advanced Member


Group: Members
Posts: 613
Member No.: 27087
Joined: 24-February 10



Hi vibe until raythe0n replies for your request for (direct copying a vorbis audio track). I have written a couple of suggestions you could try while waiting smile.gif


Try with virtualdub compressing the audio track to another format such as ac3 or similar instead. Or if need vorbis audio compress to wav with video edits and filters work. Later remux wav back to vorbis changing only the audio track, leaving the video as is.


I don't know if virtualdub has good vorbis support or not. You say this ffmpeg input driver does decode and play the audio. Will be easier now to compress the vorbis audio track to another format instead such as ac3 or other.
 
    Top
raythe0n
Posted: May 27 2011, 06:18 PM


Member


Group: Members
Posts: 19
Member No.: 31262
Joined: 10-May 11



QUOTE (vibe @ May 27 2011, 12:22 PM)
Wow this is impressive, many thanks for your efforts.

Is there any chance DIRECT STREAM COPY could be supported under video so I could finally fix my old videos with vorbis audio 0x566f which still has no ACM available (for nearly a decade now sad.gif )

Your driver definitely can read the audio, just no way to preserve original video quality.

Just let me know if it's on the "to do" list because I've waited this many years for a solution, I can wait longer, lol.

Hi vibe,

Due to different schemes of video processing direct copying couldn't be supported as adopted in VirtualDub.

Thanks -vdub- for suggestions. Or there is a way to transcode audio and copy video using ffmpeg utility directly.
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
378 replies since May 10 2011, 10:20 AM Track this topic | Email this topic | Print this topic
Pages: (26) [1] 2 3 ... Last »
<< Back to VirtualDub Filters and Filter Development