View Full Version : avs2yuv error with pipes
Ranguvar
18th August 2008, 04:37
The following lines:
mkfifo /home/ranguvar/Encodes/BBB/Vid.y4m
wine avs2yuv.exe /home/ranguvar/Encodes/BBB/Vid.avs -o /home/ranguvar/Encodes/BBB/Vid.y4m
crash with the following output:
/home/ranguvar/Encodes/BBB/Vid.avs: 1920x1080, 25165824/1048576 fps, 14315 frames
fopen("�
R") failederr:ole:CoUninitialize Mismatched CoUninitialize
I believe, without piping, avs2yuv can begin to create the y4m...
I tried putting the x264 encoding lines before avs2yuv, as one person suggested, but that simply results in the script hanging, with a 0 byte output and x264 using no CPU or RAM.
Help, please? :thanks:
Gusar
18th August 2008, 11:14
If you're piping into x264, you don't need to create a fifo. Just use this:wine avs2yuv.exe -raw vid.avs -o - | x264 <your options here> - 1920x1080
Ranguvar
18th August 2008, 21:13
If you're piping into x264, you don't need to create a fifo. Just use this:wine avs2yuv.exe -raw vid.avs -o - | x264 <your options here> - 1920x1080
Still fails :(
fbgd
18th August 2008, 22:40
I always use: wine avs2yuv.exe vid.avs vid.y4m & x264 options vid.y4m
Ranguvar
19th August 2008, 00:26
That definitely doesn't work... x264 encodes a few frames, presumably the ones avs2yuv was able to hand it in time, but then stops like it finished encoding, leaving avs2yuv running in the background, creating the Y4M. It might work on very fast scripts, but only then. Thanks though :)
talen9
19th August 2008, 01:04
Are you sure that Wine is correctly configured and working?
Are you sure that the avs script outputs a valid YV12 stream? Try it with a script containing only " Version()" and see if it works ...
If the latter works ... maybe 1920x1080 needs more memory that avs2yuv through wine is able to allocate? :confused:
Ranguvar
19th August 2008, 01:08
Yeah, it works fine (ran several complex apps in it). There's definitely a valid stream, as a blank script gives me an error about an invalid stream, and I have ConvertToYV12() at the end of my script.
I'm going to be switching back to Windows for the majority of my work... I hate it, but it sadly seems necessary (other reasons too). Encoding in Linux just isn't where I'd like it to be right now.
For anyone following this thread with the same problem, I found something odd. Using the basic example described by the avs2yuv main page (encoding to HuffYUV with mencoder) works.
Thanks to those who tried to help me :)
talen9
19th August 2008, 01:17
I sadly agree with all your thoughts on the subject ... btw, are you using the avisynth.dll which is distributed together with avs2yuv (v2.56, IIRC), or an upgraded one? I had some problems in the past trying to make it work with a 2.57 avisynth.dll ...
fbgd
19th August 2008, 07:00
That definitely doesn't work... x264 encodes a few frames, presumably the ones avs2yuv was able to hand it in time, but then stops like it finished encoding, leaving avs2yuv running in the background, creating the Y4M. It might work on very fast scripts, but only then. Thanks though :)
I've run some pretty slow scripts using that method and have never once encountered any problems. What linux distribution are you running?
Ranguvar
19th August 2008, 15:22
I'm using Arch Linux x86_64.
And I'm using the avisynth.dll supplied with AviSynth 2.57 MT... well, if that was indeed the problem, then it still was right to switch, as I need the MT support.
I'll be on the first boat back to Arch once AviSynth 3 is in usable condition.
LigH
22nd September 2008, 10:54
Your first example was meant for Linux; but I have issues with piping avs2yuv even under Win32 (Windows XP Pro), see this post (http://forum.doom9.org/showthread.php?p=1185764#post1185764). Might be a different reason. Might be a wrong set of command line options.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.