ffmpeg with Avisynth support
Hi,
yesterday I tried to add Avisynth script support to ffmpeg/ffplay using Avisynth C interface. You can download compiled ffmpeg from http://ffdshow.sf.net/ffmpeg_avs.rar. 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. [/url] |
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 . Cheers |
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: |
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: |
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: |
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. |
Welcome to the forum Milan!
:ole: 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: @Hydeuos 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: |
VM,
move there if needed to keep the forum organized... but keep us informed here when working in mencoder :lol: |
I'm late :!:
Welcome Milan :D -kwag |
Milan,
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 Code:
rem #################### 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 |
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. @vmesquita: 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. |
I uploaded new ffmpeg_avs.rar. Please try it, freeze when encoding should be fixed now.
|
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 |
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). |
Great Milan! Let me know if you need any help. :wink: :D
|
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: |
Quote:
|
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. Cheers |
Hmmm, four days since first milan post. No news about ffmpeg-avisynth (-mencoder)... no news is bad news? :(
|
@Hydeus
Try putting the DLL in avisynth plugin folder (not in script folder). It solced the problem for me. @digitall.doc He's probably busy, let's wait and let him surprise us. :wink: :D |
Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.