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) « First ... 12 13 [14] 15 16 ... 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
dloneranger
Posted: Mar 29 2014, 11:49 AM


Moderator


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



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


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
jpsdr
Posted: Mar 30 2014, 10:48 AM


Advanced Member


Group: Members
Posts: 335
Member No.: 20490
Joined: 23-December 06



I am, and have since a long time been able to directly open mkv in VDub. I don't realy remember when it begun to be possible. I think it's probably the DShowInputDriver.vdplugin, but i'm not sure. When i open an mkv, i can see the icons of ffdshow and haali's spliter.

I've tried, out of curiosity, your pluggin. So, i copied the files in pluggin directory of VDub, open an mkv file i've just opened before to check it worked fine, and when trying to open the file, VDub (version 1.10.5-test1) crashed :
CODE

VirtualDub crash report -- build 35501 (release)
--------------------------------------

Crash reason: unknown exception 0xc06d007e

Crash context:
An exception occurred in module 'kernel32'.

Thread call stack:
7c812afb: kernel32!RaiseException [7c800000+12aa9+52]
7c812afb: kernel32!RaiseException [7c800000+12aa9+52]
7c80e14f: kernel32!DuplicateHandle [7c800000+de9e+2b1]
7c801bfa: kernel32!LoadLibraryExW [7c800000+1af5+105]
7c801d72: kernel32!LoadLibraryExA [7c800000+1d53+1f]
01ef5675: FFInputDriver!VDGetPluginInfo [01ee0000+11b0+144c5]
01ef5398: FFInputDriver!VDGetPluginInfo [01ee0000+11b0+141e8]
01ee2be7: FFInputDriver!VDGetPluginInfo [01ee0000+11b0+1a37]
01ee39cd: FFInputDriver!VDGetPluginInfo [01ee0000+11b0+281d]
004f2745: VDInputDriverPlugin::CreateInputFile()
00475dfd: VDProject::Open()
00521354: VDAutoLogger::VDAutoLogger()
00461ecc: OpenAVI()
0047f741: VDProjectUI::MenuHit()
7e399488: USER32!GetWindowLongA [7e390000+945d+2b]
7e3a8d8b: USER32!DefWindowProcW [7e390000+18d20+6b]
0048dd70: VDUIFrame::DefProc()
00480ee3: _catch$?MainWndProc@VDProjectUI@@IAEJIIJ@Z$0()
7e399488: USER32!GetWindowLongA [7e390000+945d+2b]
00476ba0: VDProjectUI::WndProc()
0048e425: VDUIFrame::StaticWndProc()
7e398734: USER32!GetDC [7e390000+86c7+6d]
7e398816: USER32!GetDC [7e390000+86c7+14f]
7e3989cd: USER32!GetWindowLongW [7e390000+88a6+127]
7e3aa43b: USER32!PeekMessageA [7e390000+1a340+fb]
7e3996c7: USER32!DispatchMessageA [7e390000+96b8+f]
00460676: WinMain@16()
005fc5d6: __tmainCRTStartup()
7c817077: kernel32!RegisterWaitForInputIdle [7c800000+1702e+49]

-- End of report



It's not a big deal for me. I notify you of this in case it's a pluggin bug, and not an incompatibility setup from my configuration.
------------------------
mod note - snipped out long crash report and filenames
 
     Top
dloneranger
Posted: Mar 30 2014, 01:20 PM


Moderator


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



Could be an FFMpeg bug
Virtualdub's calling VDGetPluginInfo, then a dll is being loaded (or attempted) and it goes boom
I'll pm you about additional information

Quick check though
When moving the plugin into virtualdubs plugins folder
The .vdplugin file goes there, and then the ffdlls folder is also copied there, overwriting any old ones
eg
virtualdub\virtualdub.exe
virtualdub\plugins32\ffinputdriver.vdplugin
virtualdub\plugins32\ffdlls\avcodec-55.dll
virtualdub\plugins32\ffdlls\avformat-55.dll
virtualdub\plugins32\ffdlls\avutil-52.dll
virtualdub\plugins32\ffdlls\swscale-2.dll

With mkv's there are three ways to open them
fcchandlers mkv plugin ->requires vfw and acm codecs
directshow plugin-> requires directshow codecs and a splitter (haali or lav)
ffmpegplugin->requires nothing

I use all three (daily, if just for testing) and they have their pros/cons
So far they've all been fairly crash proof
But they can fail in their own special way if fed damaged files
(general error types)
fcchandlers->virtualdub crashes
directshow->audio suddenly stops before end of file
ffmpeg->stops in infinite loop or avutil-52.dll crashes
Out of those three the one that's most common is directshow suddenly losing the audio

On the whole though it's pretty rare to see an actual crash

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Mar 30 2014, 04:14 PM


Moderator


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



@jpsdr
I've found something that may be the same file you have - does it start with people on a train?
File size 779 MB (817,459,917 bytes), MD5hash 3D9A65F8D957192D9E07B16E4A1732BB

If so, it loads fine
It did prompt me to add an test/messagebox for missing dll's in the next version though

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
jpsdr
Posted: Mar 31 2014, 08:08 AM


Advanced Member


Group: Members
Posts: 335
Member No.: 20490
Joined: 23-December 06



When there is several pluggins which can handle mkv, when i open the mkv only with File->Open Video File, and selection file is on "all" (and "ask for extended options" not checked), which one wins ?
 
     Top
dloneranger
Posted: Mar 31 2014, 10:30 AM


Moderator


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



Normally the most format specific one
Each plug in has a chance to check the filename and examine the start/end of the the file
It reports back a value to virtualdub about how well the file matches what it can decode for both of those (the filename match being less important)
Specific plugins usually report a higher score than general purpose ones
eg the mkv plugin scores itself highly for mkv's and zero for everything else

It's a score that could be included in the options though

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Mar 31 2014, 09:37 PM


Moderator


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



For anyone with Xp, it looks like the ffdlls are a bit broken at the moment (requiring vista+)
http://ffmpeg.zeranoe.com/forum/viewtopic.....php?f=7&t=1889
"the procedure entry point InitializeConditionVariable could not be located in the dynamic link library KERNEL32.dll"

These ones work on xp
http://ffmpeg.zeranoe.com/builds/win32/sha...win32-shared.7z


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
jpsdr
Posted: Mar 31 2014, 10:25 PM


Advanced Member


Group: Members
Posts: 335
Member No.: 20490
Joined: 23-December 06



Tested beta 3, worked fine. Thanks.
 
     Top
dloneranger
Posted: Apr 1 2014, 02:07 PM


Moderator


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



V0.8.1.4 beta 4


beta 1
Error dialog box if dll's are missing
Timeout for decoding video/audio frames of 2 minutes so job's don't get stuck on queue
Reporting decoding errors back to virtualdub
Report error on discontinuity
Larger maximum index size for seeking

beta 2
Fixed bug in beta 1 that totally broke seeking with some formats - my bad
Better seeking to first frame, fixed bug that was only obvious because of previous problem - serendipity!

beta 3
Replaced dll's with ones that work on windows xp

beta 4
More accurate discontinuity handling, will backtrack further through the file before giving up on a missing frame
Remembers how far it's previously had to backtrack when seeking and uses that (up to a max of 256 frames, then starts dynamically seeking backwards)
These two reduce discontinuity errors while improving seek times, betas 1,2 and 3 were a bit too eager to report problems

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
Abrazo
Posted: Apr 1 2014, 07:40 PM


Advanced Member


Group: Members
Posts: 775
Member No.: 28995
Joined: 5-November 10



Thanks for all your hard work dloneranger !

Just a little remark : please take care for the file-"Path" into your ZIP files ...

It has become ffmpegplugin\win32\ffdlls instead of plugins32\ffdlls (similar note for 64-bit)
this can mislead the newbies ...
 
     Top
dloneranger
Posted: Apr 1 2014, 07:42 PM


Moderator


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



QUOTE
Just a little remark : please take care for the file-"Path" into your ZIP files


Doh, glad someone's keeping me on my toes
I'm so used to working with the compilers paths, I didn't notice

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
dloneranger
Posted: Apr 5 2014, 08:38 PM


Moderator


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



V0.8.1.4 beta 6


beta 1
Error dialog box if dll's are missing
Timeout for decoding video/audio frames of 2 minutes so job's don't get stuck on queue
Reporting decoding errors back to virtualdub
Report error on discontinuity
Larger maximum index size for seeking

beta 2
Fixed bug in beta 1 that totally broke seeking with some formats - my bad
Better seeking to first frame, fixed bug that was only obvious because of previous problem - serendipity!

beta 3
Replaced dll's with ones that work on windows xp

beta 4
More accurate discontinuity handling, will backtrack further through the file before giving up on a missing frame
Remembers how far it's previously had to backtrack when seeking and uses that (up to a max of 256 frames, then starts dynamically seeking backwards)
These two reduce discontinuity errors while improving seek times, betas 1,2 and 3 were a bit too eager to report problems

beta 5
Better use of keyframes when seeking
Avoid some seeking when the frame you're seeking to is so close we may as well just wind forwards
Fixed an edge case seeking problem when moving to a keyframe and then going back 1 frame
Error handling option for allowing an occasional missing frame - replaced by the last good frame
eg this will allow frames 1,2,3,4,5,bad,7,8,9,10 -> 1,2,3,4,5,5,7,8,9,10 without stopping an encode

beta 6
Better fps detection
Some better handling of decoding errors
Modified missing frame detection a bit to reduce false error detection


--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
-vdub-
Posted: Apr 11 2014, 01:21 AM


Advanced Member


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



Is there any code change that can be made so it works like FFmpeg binaries. So it doesn't decode everything but looks at Virtualdub more when user need Direct Audio or Video copy it does just that

I noticed but unable to find comment you made about having a user selectable setting so each video loaded can be loaded always using FFmpeg Driver. This is good and would help to make Virtualdub vastly improved. But still the need for Direct Copy is needed as FFmpeg binaries can do and like other Virtualdub Plugins able to do

That said if able to make adjustments so Direct Copy is able to be done and Able to set FFmpeg Driver to load all Videos. The other problem disappear such as we can again use Batch Wizard to multi load videos that are not avi. More process more use for Virtualdub more users for Virtualdub

If not could you or someone have a look at fcchandlers Qucktime code. To see if is possible to add code so it has option load all videos as default. Since fcchandlers Quicktime already has the ability to Direct Copy Video and Audio
 
    Top
dloneranger
Posted: Apr 11 2014, 05:12 AM


Moderator


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



Direct stream copy mode -> I have no idea how you would get that to work with the way this plugin works, directshow plugin also doesn't do direct stream copy mode

I was going to see if I could make the priority of this plugin user selectable, but the sdk doesn't let you
It's a hard-coded number that virtualdub reads from the plugin, so you can't change it as you like
There's another priority system, but that's a no go as well, as first you have to supply a byte sequence that virtualdub matches in the source file (also hard coded into the plugin file)
(virtualdub does those checks without loading the plugin, so you don't even get a chance to be involved)

--------------------
MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask
Windows7/8 Codec Chooser
All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3
 
    Top
-vdub-
Posted: Apr 11 2014, 07:58 PM


Advanced Member


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



Direct Copy I guess those that can do so outweighs the very few those that can't. What I meant was as other plugins are able to and that FFmpeg binaries are able to then would follow that FFmpeg Input Driver should also able to do Direct Copy video and audio. It what will make this plugin as good as those that can Direct Copy so then we will be looking to Phaeron to add this below

As many plugins will never be updated but still can be used. If Phaeron were to add a user selectable setting to always load files with a plugin the user need always to load files with
 
    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) « First ... 12 13 [14] 15 16 ... Last »
<< Back to VirtualDub Filters and Filter Development