Post subject: x264+avisynth problem
Joined: 1/27/2012
Posts: 26
So, I'm trying to learn how to do HD encoding, using the guide on this site, and I get an error message that says "AVISource couldn't locate a decompressor for fourcc" but it doesn't say what fourcc it can't find. I've got FFDshow and I dumped the avi using ffv1, which, while not the popular choice seems to fit the "lossless, RGB32" requirement. I've google searched, of course, but nothing has turned up as to why it's doing that. Any help would be appreciated.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
mediainfo is a good tool to have around for this situation. Could we have a mediainfo output from the avi you're trying to import?
Guga
He/Him
Joined: 1/17/2012
Posts: 838
Location: Chile
I recommend to dump the avi using Lagarith Lossless.
Joined: 1/27/2012
Posts: 26
Sure thing!
Mediainfo wrote:
Format : AVI Format/Info : Audio Video Interleave File size : 524 MiB Duration : 2mn 29s Overall bit rate : 29.4 Mbps Video ID : 0 Format : FFV1 Codec ID : FFV1 Duration : 2mn 29s Bit rate : 28.6 Mbps Width : 256 pixels Height : 224 pixels Display aspect ratio : 1.143 Frame rate : 60.100 fps Compression mode : Lossless Bits/(Pixel*Frame) : 8.296 Stream size : 510 MiB (97%) Audio ID : 1 Format : PCM Format settings, Endianness : Little Format settings, Sign : Signed Codec ID : 1 Duration : 2mn 29s Bit rate mode : Constant Bit rate : 768 Kbps Channel(s) : 1 channel Sampling rate : 48.0 KHz Bit depth : 16 bits Stream size : 13.7 MiB (3%) Interleave, duration : 17 ms (1.00 video frame)
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
welp, it sure is FFV1. i'm not sure what exactly can decode FFV1, but i know in order to use it with AviSource (), you need a VFW decoder. According to google ffdshow can decode FFV1. I know ffdshow has a whole settings pane where individual decoders can be turned off and on? Might try checking there.
Joined: 1/27/2012
Posts: 26
I did that, of course, and it's supposedly active as a decoder, but it doesn't seem to help. I dunno if there's a flaw in the example script or maybe there's something wrong with my PC or maybe I just fail at everything. Maybe I will try Lagarith. Worst I can do is not get to encode after using it, which won't change anything from where it is now.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
I personally use camstudio for lossless RGB dumps, but honestly, FFV1 should work fine. Not sure exactly what the problem is, I don't use ffdshow =/ Another option is to use FFMS to import to avisynth. It handles stuff directly without involving your codec stack, and it *should* support FFV1
Joined: 1/27/2012
Posts: 26
Well, Lagarith seems to work, but I have a followup question: what are those converts at the bottom of the example script? I get yelled at by the program for having them in there.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Colorspace conversion. Whether you want to have exactly them depends on your workflow; are you having x264 load the avs script directly? What is your encoding commandline and what error messages are you getting?
Joined: 1/27/2012
Posts: 26
I am having x264 load the script itself. I'm using the command line as seen on the page, except cutting out "--fullrange off" because it doesn't recognize that. As of now, the message I'm getting is "there is no function named ConvertToYV24." It recognized "ConvertToRGB32," though, so something may well be rotten in the state of Denmark. Before I forget, thanks for all the help. I'm sure having to nursemaid someone through this kind of process can't be fun, and I do appreciate it.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
What version of avisynth are you using. Edit: As far as range goes, that commandline looks outdated. x264 range handling was changed recently. For youtube encode, you should have no range-related parameters in your commandline.
Joined: 1/27/2012
Posts: 26
I'm using 2.5.8 64 bit version to match the x264 I'm using, because the 32 bit version is incompatible.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
Avisynth 2.5x can't handle YV24 processing internally. Is there a 64 bit Avisynth 2.6? If not, you have to change something or other. Here are a few possibilities: 1. Have x264 convert to YUV internally Pro: Don't need any new software. Con: Conversion will be rec601 (not that it matters, since youtube always gets SOMETHING wrong with colors) 2. Use 32 bit x264 with 32 bit Avisynth 2.6 Pro: Don't need to change scripts Con: Encoding will be slower 3. Run the avisynth script with something else (like avs2pipemod), then pipe it to x264. Pro: Can use 32 bit avisynth with 64 bit x264 Con: Commandlines get more complicated, and there's some pipe-related overhead. I personally use #3&#1. I would recommend trying #2 for starters; it's probably the simplest to get going? The encoding guides should be updated to correct for these hiccups...
Joined: 1/27/2012
Posts: 26
Well, commenting them out of the run script makes it run the encoding, though I'm sure there'll be some other issues along the way. Next I'll have to submit one of those logo thingies to the site. I have an interesting idea involving a mocked-up Link to the Past screenshot, but I'm sure it'll get rejected for too much on the logo...
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
64-bit isn't worth it, apparently. Multi-threading might help much more, see this thread for more info.
Joined: 1/27/2012
Posts: 26
One quick note: I'm glad I was steered toward lagarinth. My AVI dump looks incredible now. I've never taken such a pretty dump before. (wakka wakka) But no, seriously, I can see why it and camstudio are so popular for this stuff. And I'll have a look at the 32-bit versions of those programs tomorrow. For tonight I'm just flat out tired of thinking about it.