|
|
| Testerhood |
Posted: Dec 11 2014, 12:34 AM |
 |
|
Newbie

Group: Members
Posts: 1
Member No.: 38478
Joined: 11-December 14

|
I have just registered to say a HUGE THANKS! I had a nasty problem where I wanted to reedit a video in another program without losing quality which just supports avi files, and my video was a mp4 file with H.264 codec. Converting into an avi file with Avidemux without recoding hasn't helped, the application crashed (BB Flashback, with K-Lite codec pack installed). And Virtualdub was no option for me, because it doesn't support mp4 files... I thought that, until now! This plugin package is just awesome. I was able to convert the mp4 video absolutely fine with the Lagarith Lossless Codec into an avi video, and this had fixed my issue.
I had found the plugin package with Google by coincidence by typing "Virtualdub ffmpeg". Please take this a note that there are quite some people out there and (hopefully) very thankful for this! Thank you again! |
 |
| -vdub- |
| Posted: Dec 11 2014, 11:25 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 613
Member No.: 27087
Joined: 24-February 10

|
The Google site is ancient it is no longer maintained there
Virtualdub FFMpeg Input Plugin https://sourceforge.net/projects/virtualdub...peginputplugin/ is where you will find the latest build versions |
 |
| dloneranger |
| Posted: Dec 16 2014, 07:43 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
0.8.1.8 Update ffdlls to 2.5.1 Fix leading b-frame problem
(there are some other minor changes, but nothing interesting)
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| dloneranger |
| Posted: Dec 17 2014, 05:58 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Test version of 0819 g
This one attempts to fix some audio problems+other minor stuff
Fix error where a frame might be dropped and not returned to virtualdub after decoding
Fix correct value of 8bit blank audio
Fix correct sync of audio at the start when it's been offset eg If the source videos audio has previously been delayed to sync with the vid then the previous version incorrectly ignored that delay (e) fix really small offsets as well
Fix possible 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 enormously 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
https://dl.dropboxusercontent.com/u/1702491...0test%20819.zip
See how it goes Here's a test clip of something with delayed audio for comparison https://dl.dropboxusercontent.com/u/1702491...%20Test%201.mkv The audio should start about 22 seconds in
[edit] beta version g 20/12/2014
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| Abrazo |
| Posted: Dec 20 2014, 11:12 AM |
 |
|
Advanced Member
  
Group: Members
Posts: 775
Member No.: 28995
Joined: 5-November 10

|
A quick test shows (mostly ?) a difference of one frame when opening an flv with the flv plugin towards opening it with the ffmpeg plugin.
Opening a webm file is possible, but from the moment that the play button is clicked, there is a message "error while seeking file". > example: http://video.webmfiles.org/elephants-dream.webm
(when i compare with version 08.1.8, i see that these two things were already there...) |
 |
| dloneranger |
| Posted: Dec 20 2014, 01:34 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Do you have a link for .flv that shows an issue
ATM the versions from 818 are trying to show what should really be at a specific frame (like a player) than 'just the frame for that number' eg the plugins that just show a green frame at the start (or show 2+ of the same frame because it's repeating the first real one) To do that you have to find the first actually decodable frame, and then shift everything left/right by by that many frames Plus, now the audio is trying to be decoded at the correct time for the video as well There's a sequence of numbers that starts with 2 b-frames that should show the problem that this should solve https://dl.dropboxusercontent.com/u/1702491...umbers%20B8.avi Correctly decoded the frames should read 0,1,2,3 etc Incorrectly they can be garbage,garbage,0,1,2,3
ATM the flv may have 1 b-frame at the start (and it's being shifted 1 frame to correct for that), or my maths is wrong somewhere and I'm shifting it by mistake
-------------
the .webm sample won't seek for the audio ffdlls av_seek_frame returns -1 (error) when seeking in it Shek's plugin seems to cope properly though I'll have to see what the two are doing differently
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| dloneranger |
| Posted: Dec 20 2014, 03:52 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
beta 0819 f available above for testing
Fix audio seek in the sample webm file provided by Abrazo
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| Abrazo |
| Posted: Dec 20 2014, 09:32 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 775
Member No.: 28995
Joined: 5-November 10

|
Thanks @dloneranger.
1) The issue with playing *.webm files has been fixed (FFInputDriver.vdplugin - 20/12/2014 - 15:48). sample > http://video.webmfiles.org/elephants-dream.webm
2) Concerning opening *.flv files, it seems that FFMpeg (dloneranger), FFMpeg2 (shekh) and DirectShow (phaeron) inputdriver plugins are all giving an equal number of frames in the first sample file below (= 423). Only FLV inputdriver plugin (fcchandler) shows one frame more (= 424). (Tested with the most recent version of each plugin, that is available today.) So, I suppose the first three must be right... sample > http://www.mediacollege.com/video-gallery/...051210-w50s.flv
Eventhough, in the next sample file, the numbers are different: - FFMpeg = 7995 - FFMpeg2 = 7994 - DirectShow = 8009 (ffdshow video decoder) / 8011 (Microsoft DTV-DVD video decoder) - FLV = 7994 (x264vfw) > http://www.fullimpactwebdesign.com/solutio...ledUpInBlue.flv
NOTES: Please do not consider the sample webm and flv as "my" files. I only post hyperlinks to files that I find on the internet, and that can serve for testing.
Neither consider my testing for personal interests, I only try to contribute for testing and so supporting the development of the plugins. So, it is in favor for everyone who will use them.
In either case, many thanks to dloneranger and shekh, who are investing their time and knowledge into this !! |
 |
| dloneranger |
| Posted: Dec 20 2014, 10:51 PM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
I have many sample files from all sorts of places - they're just example files that show problems, content is fairly unimportant
Out of all of them I'd say the FLV plugin probably gets the closest in terms of frame count etc, but also counts undecodable frames (the ones that can just show as green or black at the beginning of the video)
Anyhow..... Looks like some file formats don't like being seeked to before the first frame's timecode, and fail instead of just going to the first frame This made the first frame of the vid be something like frame 42
819 g is up for testing
Fix seek to first frame for some formats
ps the bob dylan vid made me think I'd really screwed up somewhere and was repeating the last frame too long very sneaky having a totally still part at the end - it was only the fade out that stopped me looking for an error in the code ;-)
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |
| shekh |
| Posted: Dec 21 2014, 12:54 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 89
Member No.: 37903
Joined: 21-April 14

|
| QUOTE | Eventhough, in the next sample file, the numbers are different: - FFMpeg = 7995 - FFMpeg2 = 7994
|
This is rounding vs truncation. The problem is neither is correct. We calculate number given the frame rate but the only real way is to read the stream begin to end and count them.
For some reason ffmpeg library here gives frame rate of 29.97 but observing time stamps I see it is more like exactly 30. Given 30 fps we would calculate 8002 / 8003
Again, with that wrong fps we cannot determine frame numbers so the timeline is full of errors.
Tried this:
| CODE | ffmpeg.exe -i "bobDylanTangledUpInBlue.flv" -bsf:v h264_mp4toannexb -c:v copy -c:a copy bobDylanTangledUpInBlue.avi
|
ffmpeg asked me to use that bsf switch because "h264 stream is malformed"
Now it has valid index of 7994 frames, fps 29.97 The index really helps in frame accurate seeking etc.
The big problem is: For use in VD reliably the source MUST have full index. Otherwise there is no control what can happen. If there was an option for ffmpeg "give me index or die" I would set it. Unfortunately the index is not even public feature so we use it at our risk. I think there is the only possible way to fix it: build index ourself when opening the file. |
 |
| ALbino |
| Posted: Dec 21 2014, 06:49 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 101
Member No.: 26983
Joined: 9-February 10

|
FWIW, I'm pretty sure fccHandler's MPEG-2 plugin builds it's own index to achieve frame accuracy. |
 |
| Abrazo |
| Posted: Dec 21 2014, 09:04 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 775
Member No.: 28995
Joined: 5-November 10

|
Thanks @shekh for the explanation.
So, if the number of frames is being "estimated" at the time of opening the file, then what happens when we navigate through the file ? With other words: if there are less or more frames then estimated, then accordingly: are there duplicates being made or frames being dropped ?
Finally, the best solution would be to parse the whole file (like it is done by the MPEG-2 plugin ?), but the disavantage of that is that it will take more time to open a file (especially "long" files). So, the question to make an index, would be rather an option to put in the "Ask for extended options ..." after the "Open video file"-dialogbox, like it has been done in the MPEG-2 plugin.
@ALbino The "Create an index file" is not ON by default in the MPEG-2 plugin, but you can activate it when checking "Ask for extended options".
Regards. |
 |
| shekh |
| Posted: Dec 21 2014, 10:48 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 89
Member No.: 37903
Joined: 21-April 14

|
Yes VD does not allow to change timeline on the go. Last frames are dropped if estimate is low and duplicated if high (in my implementation).
For indexing there is implementation challenge as well. fccHandlers plugins have full format reading (at least what I saw in quicktime plugin). This isnt easy coding but then it allows to build index etc. With ffmpeg there is a challenge: will it really work. |
 |
| ALbino |
| Posted: Dec 21 2014, 11:50 PM |
 |
|
Advanced Member
  
Group: Members
Posts: 101
Member No.: 26983
Joined: 9-February 10

|
| QUOTE (Abrazo @ Dec 21 2014, 09:04 PM) | @ALbino The "Create an index file" is not ON by default in the MPEG-2 plugin, but you can activate it when checking "Ask for extended options". | Interesting, I've never done that before until now. That is a different behavior than I normally do, but I don't see a difference in the actual results themselves other than it creates an .midx file. It still says "Parsing interleaved MPEG-2" file, still scrolls the same, and still reports the same frames. What's the benefit of creating the index then? |
 |
| dloneranger |
| Posted: Dec 22 2014, 12:17 AM |
 |
|
Moderator
  
Group: Moderators
Posts: 2366
Member No.: 22158
Joined: 26-September 07

|
Second time you load it, the scanned index is just read from disk - faster
--------
We're way off topic now though, so can you take anything else to a different thread, thanks
-------------------- MultiAdjust JoinWav WavNormalize FFMPeg Input Plugin v1827 UnSharpMask Windows7/8 Codec Chooser All FccHandlers Stuff inc. Installers for acm codecs AAC, AC3, LameMp3 |
 |