View Full Version : Problems opening a ffv1 encoded file
Boulder
16th March 2014, 12:54
I'm having issues opening a 58,1 GB file that is encoded with ffv1. The error message is "Could not decompress frame 0". I also cannot open the file directly in VirtualDub. ffplay opens the file normally.
I have other, smaller files that do not have this problem.
Can anyone advise what to do?
poisondeathray
16th March 2014, 15:55
install a vfw ffv1 decoder like ffdshow , or use ffms2 to open it
Boulder
16th March 2014, 16:00
Already got ffdshow installed, and the decoder itself cannot be the problem since other ffv1 encoded files work just fine :( I've used the codec for quite a long time now and this is the first time I've ran into such an issue.
raffriff42
16th March 2014, 16:42
Could you post ffplay's console output please? I'd like to see the pixel format details, etc.
You might need ffms2 with 10-bit hack (this is the link AFAIK (http://forum.doom9.org/showthread.php?p=1580141#post1580141))
Boulder
16th March 2014, 17:14
Is this sufficient info?
Input #0, avi, from 'e:\temp\queen.avi':q= 0KB sq= 0B f=0/0
Metadata:
encoder : Lavf55.31.100
Duration: 01:58:50.21, start: 0.000000, bitrate: 70019 kb/s
Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv420p, 1280x720, 70016 kb/s,
23.98 tbr, 23.98 tbn, 23.98 tbc
poisondeathray
16th March 2014, 18:07
Did you try ffms2 ?
Might be damaged, or something wrong with the AVI
If ffplay can play it, you should be able to use ffmpeg to re-encode another ffv1 or other codec like utvideo
If you don't want waste time to test the whole thing, do a mini test on a small section first using -t , see if it opens in vdub, avisource() etc...
e.g 10 section section
ffmpeg -i input.avi -vcodec ffv1 -an -t 00:00:10 output.avi
Boulder
16th March 2014, 18:15
The AVI itself isn't the problem, I tried re-encoding earlier with no luck. I also tried to create that 10-second segment but the problem remains with it as well.
I just got around to trying FFMS2 and it works, at least on the small test file :)
raffriff42
16th March 2014, 18:16
OK the pixel format's not the problem. What is the error you get from VirtualDub?
Do you have the VirtualDub FFMpeg Input driver (http://forums.virtualdub.org/index.php?act=ST&f=7&t=20025&)? It should help.
EDIT I think you need to select the driver manually since the source is AVI:
File, Open, Files of type, FFmpeg supported files...
Boulder
16th March 2014, 18:19
VDub says "VideoSourceAVI error: The operation is not supported. (error code -1)". I'll try the driver next.
EDIT: the driver works.
poisondeathray
16th March 2014, 18:33
Did you have ffv1 enabled in the ffdshow VFW configuration? Was this 32bit vdub, 32bit ffdshow, 32bit avisynth ?
Boulder
16th March 2014, 18:38
Yes to all those :)
clsid
16th March 2014, 19:04
ffdshow does not support FFV1 v1.3
Someone really needs to create a new VFW wrapper for FFmpeg because ffdshow project is dead.
Boulder
16th March 2014, 19:19
Does v1.3 kick in at some specific point (resolution perhaps?)
raffriff42
17th March 2014, 01:22
EDIT: the driver works....so it's all good?
Boulder
17th March 2014, 04:44
Well, yes - I'm going to encode the video with x264 so I'll use FFVideoSource for that since I need to do some filtering too. I am just puzzled why this one case refuses to open normally while others encoded with the exact same characteristics have no problems.
clsid
17th March 2014, 17:50
Afaik v1.3 is something you must explicitly specify during encoding. The file being v1.3 is just a guess based on the fact that other files did work with ffdshow.
Boulder
17th March 2014, 18:09
I'm beginning to think that it has got something to do with the resolution of the encode, maybe ffmpeg switches the baseline without asking me.. I encoded a different clip, this time with a resolution of 928x720 and it also fails to load without any special tricks.
Music Fan
19th March 2014, 12:53
OK the pixel format's not the problem. What is the error you get from VirtualDub?
Do you have the VirtualDub FFMpeg Input driver (http://forums.virtualdub.org/index.php?act=ST&f=7&t=20025&)? It should help.
EDIT I think you need to select the driver manually since the source is AVI:
File, Open, Files of type, FFmpeg supported files...
I don't see this option in the list "Files of type" while I put FFInputDriver.vdplugin and the 4 dll's in VirtualDub's folder ; I also tried into plugins and plugins32 folders, same result.:confused:
raffriff42
19th March 2014, 13:51
I don't see this option in the list "Files of type" while I put FFInputDriver.vdplugin and the 4 dll's in VirtualDub's folder ; I also tried into plugins and plugins32 folders, same result.:confused:the .vdplugin file should be located in {virtualdub}\plugins32
the 4 DLL's should be located in {virtualdub}\plugins32\ffdlls
BTW I am working with the driver developer on a proper (Inno) setup program; available very soon, I hope...
Music Fan
20th March 2014, 01:23
the .vdplugin file should be located in {virtualdub}\plugins32
the 4 DLL's should be located in {virtualdub}\plugins32\ffdlls
Thanks but this does not work either :o
I have Windows XP, I guess this plugin is XP compatible.
raffriff42
20th March 2014, 04:04
Thanks but this does not work either :o
I have Windows XP,Not a problem.
https://www.dropbox.com/s/fx5fwwe18z2okyk/virtualdub-ffinput-location.png?raw=1
https://www.dropbox.com/s/b3sm7mel2j2vces/virtualdub-file-open-ffinput-2.png?raw=1
qyot27
20th March 2014, 07:41
The file being v1.3 is just a guess based on the fact that other files did work with ffdshow.
This is exactly what's happening.
The commit that introduces the behavior:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=9e7b477c8c751380e7f5d766f27db7d78be917ef
I'm beginning to think that it has got something to do with the resolution of the encode, maybe ffmpeg switches the baseline without asking me.. I encoded a different clip, this time with a resolution of 928x720 and it also fails to load without any special tricks.
As shown in the commit diff above, it switches to v1.2 above 720x576 (technically, it's 'above 414720 pixels', since you can do weird resolutions and fall beneath that line, in which case it won't use v1.2).
You can also get around it by forcing -level 1, if you absolutely need to use AVISource+ffdshow or ffdshow alone (as in direct opening with VDub):
ffmpeg -i test.ext -vcodec ffv1 -level 1 output.avi
Boulder
20th March 2014, 07:46
Thanks, that explains it clearly. FFMS2 seems to work fine (it just takes a bit more time to index) so I'll keep on using the default settings :)
Music Fan
20th March 2014, 12:05
Not a problem.
Thanks a lot !
With your captures, I realized that I hadn't the latest Virtual Dub version, I had still the 1.9.11.
It works with 1.10.4 ;)
And I see FFmpeg in the list even when I don't check "ask for extended options ...", but I guess it's better to see extended options.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.