Forums [Archives] Forums [Archives] (
-   Video Encoding and Conversion (
-   -   Mencoder: Ffmpeg with Avisynth support (

milan 05-05-2004 03:04 AM

ffmpeg with Avisynth support

yesterday I tried to add Avisynth script support to ffmpeg/ffplay using Avisynth C interface. You can download compiled ffmpeg from

It's a first "draft" and has many bugs and limitations, including:

- crashes on exit - I guess it's because AVS_ScriptEnvironment isn't freed (I didn't found any function in avisynth C interface to do this)
- only video is supported
- no seeking
- no error handling
- I had problem implementing timestamps, but maybe it's OK now

If this would work, I'll make sources available and someone could compile mencoder using this modified libavformat.


rds_correia 05-05-2004 03:44 AM

Hi Milan 8O ,
Welcome buddy :D .
We've been waiting for you for months :)
We've been trying to understand ffvfw/ffdshow usage and we really needed your help.
Anyway, we're now a bit more concentrated on Mencoder and I am very :D :D :D to see that you are willing to help us on Mencoder's ability to open avs scripts.
I'm sure other members will to compile it the way you just explained.
Hope to keep hearing from you now and then :P .

digitall.doc 05-05-2004 04:28 AM

Hi Milan,
wellcome. Nice to see you visiting us.
It's good having people like you improving this ffmpeg thing.
Thanx :D

EDIT: VM or rds or Inc: as you're more used to compile mencoder, you could try as Milan advises, with this new ffmpeg, and we could test and help with debugging... well, if you have time, friends :roll:

Hydeus 05-05-2004 04:51 AM

Hi Milan.
1st post, and what a superb entry :lol:
Small problem: I can't force this to work in any way :oops:
The procedure entry point_avs_create_script_environment@4 could not be located in dynamic link avisynth_c.dll
I have avisynth_c.dll in ffmpeg and %systemroot% folders but it doesn't working. Any guides :?: :roll:

Jellygoose 05-05-2004 05:17 AM

as kwag would say: The future looks bright!

Welcome on board milan! If Mencoder would accept AVS scripts natively, it would be a great improvement! I'm not that smart, but wouldn't it actually be a gain in speed too, since the way we do it now with the avi-container slows things down a bit doesn't it? :roll:

incredible 05-05-2004 06:41 AM

FIRST: Milan, a big welcome to you in here! Wo do apriciate your presence more than very much!! :D

Second: @ Jell'

If you do convert direct from VOB to m2v/m1v and using sources like DVDs which are often well mastered (I said "often" so not all ;-) ).
Mencoder and its internal routines filters do have a very big potential so in a an easy encoding way that would be enough.

BUT ... in very tricky cases like if you do deal with PAL DVDs/captures where these have been just telecined from 23.976 to 29.97 and then for the PAL market direct "norm-converted" to 25fps (no IVTC first before! YEP, thats often done!).... this would need a complex scripting in avisynth, containing ways which are not possible in mencoders internal filters.
I do only say "StarTrek next generation", "Voyager", "Simpsons", "Futurama" etc. :arrow: the functions like restore24() or unblendpattern() are the only way to get these streams back to their real 23.976 WITHOUT still existing blendings in frames.

Also ... our MA script. You cant perform an IF YdifferenceToNext() ... adaptive "routine" by using mencoders internal possibilities only.
Filtering of Mencoder is static and thats the point where Avisynth still gives much of gain for higher standard video encoding routines.

:) Inc.

vmesquita 05-05-2004 08:40 AM

Welcome to the forum Milan!

I can't wait to try this. It should also work with mencoder, because when compiling, we only copy the libavcodec and libavformat to mplayer folder. Well, we never know, but should work. :lol: Then you can submit the patch to mplayer-dev mailing list, I'm sure they will approve (with a few #defines to only compile with avisynth support in Windows)

Anyway, congratulations for the idea. :wink:

This looks like you're using an old DLL, try to use the latest version. :wink:

EDIT: This thread is related to ffmpeg, I'll move it to the correct forum. :wink:

digitall.doc 05-05-2004 09:07 AM

move there if needed to keep the forum organized...
but keep us informed here when working in mencoder :lol:

kwag 05-05-2004 10:51 AM

I'm late :!:
Welcome Milan :D


vmesquita 05-05-2004 10:15 PM


It always feezes when encoding in frame 48 or 51 with me. :cry: I did a batch file and adapted the optimized settings used in mencoder in case anyone wants to try


rem ####################
rem ## Configuration ###
rem ####################
SET VBV=2000
SET INPUT=carro-proc.avs
SET OUTPUT=santana-ff.mpg

ffmpeg.exe -an -vcodec mpeg2video -b %BITRATE% -aspect 1.3333 -intra_matrix 8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,12,14,18,27,29,34,
37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79 -inter_matrix 16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,28,30,
34,36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -maxrate %MAX_BITRATE% -rc_eq tex -bufsize %VBV% -g %GOP% -lmin 1 -mbqmin 1 -qmin 1 -preme 2 -precmp 2 -scplx_mask 0.3 -qblur 0 -i %INPUT% %OUTPUT%

( the ffmpeg line must be one line only, without brakes!)

Just to make it clear, it freezes with and without this settings, and I used a script with avisource only ( tested with some huffy captures). :wink:

Let me know if you need any specific test. :D

milan 05-06-2004 02:17 AM

First, I'd like to thank you for all the welcomes.

I posted to mencoder/avisynth thread because adding avisynth support to ffmpeg is for me just intermediate step in process of adding avisynth support to mencoder. I could modify mencoder directly, but I haven't compiled mplayer in windows yet, only ffmpeg.


I tried your example with two results:
1. I can confirm the problem with non-integer framerates - I'll investigate it further
2. When using HuffYUV source, ffmpeg didn't crash at exit.

milan 05-06-2004 02:35 AM

I uploaded new ffmpeg_avs.rar. Please try it, freeze when encoding should be fixed now.

vmesquita 05-06-2004 06:30 AM

Hi Milan,

Problem fixed! :D :D :D :D It really was only happening with non-integer frame-rates even with 29.97, but now it's working great.
I was testing a huffy source and like you it doesn't crash.

About mencoder: I don't think you need to add support to mencoder directly: when you compile mencoder, you just need to copy libavcodec and libavformat to mplayer folder. From what I understand you just added a new input type to libavformat, it may be working with mencoder already. :D If possible, make the sources available so I can compile. I can't wait to see this working on mencoder. :D :D :D

milan 05-06-2004 07:47 AM

I'm glad it's working now.

I tried to build mencoder using mingw with modified libavformat. However resulting mencoder stopped before encoding first frame. I'll investigate this later, because today I'd like to work on ffdshow too (I'd like to finally correctly implement MPEG1/2 decoding).

vmesquita 05-06-2004 07:59 AM

Great Milan! Let me know if you need any help. :wink: :D

digitall.doc 05-06-2004 10:36 AM

Hey guys,
we're all :blabla: in Mencoder and MencodeMe forum how great it is the advances done to work with avisynth from inside ffmpeg(/mencoder).
Thanx for your work :wink:

Hydeus 05-07-2004 06:02 AM


Originally Posted by vmesquita
This looks like you're using an old DLL, try to use the latest version. :wink:

I'm using Kevin Atkinson 01-Jan-2004 21:31 build. Still no results :(

rds_correia 05-07-2004 06:44 PM

Oh man!
I just can't wait to see mplayer/mencoder reading avs scripts natively :D
Hope I could help you guys but I'm not the "brains" in the family :)
Just let us know when you have something for testing.

digitall.doc 05-09-2004 06:59 AM

Hmmm, four days since first milan post. No news about ffmpeg-avisynth (-mencoder)... no news is bad news? :(

vmesquita 05-09-2004 09:22 AM

Try putting the DLL in avisynth plugin folder (not in script folder). It solced the problem for me.

He's probably busy, let's wait and let him surprise us. :wink: :D

All times are GMT -5. The time now is 07:51 AM  —  vBulletin Jelsoft Enterprises Ltd

Site design, images and content © 2002-2022 The Digital FAQ,
Forum Software by vBulletin · Copyright © 2022 Jelsoft Enterprises Ltd.