VideoHelp Forum
+ Reply to Thread
Page 4 of 8
FirstFirst ... 2 3 4 5 6 ... LastLast
Results 91 to 120 of 237
Thread
  1. Use a filter manager like preferred filter tweaker for win7 or radlight filter manager, or graphstudio for earlier os's

    I think jagabo has lav setup for this, so try installing lav filters as well

    Directshow Filters work with merits (think of them as a hierarchy of order, where higher merit means higher priority). Those with higher merit try to connect first, if that one fails, then it goes down the list

    If you render the file in graphstudio, it will show your current directshow filter setup for that file, you can also set merits in graphstudio
    Quote Quote  
  2. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Does the script has to be modified to work with LAV?
    Quote Quote  
  3. Originally Posted by Bencuri View Post
    Does the script has to be modified to work with LAV?
    No, when you use DirectShowSource() , it will use whatever current directshow setup you have installed on that system.

    If you render the file directly in graphstudio (not the avs), it will show you the filters used currently

    (That's one of the reasons why it's so inconsistent between systems, and why you need to really tweak your directshow setup to use it properly)
    Quote Quote  
  4. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Okay, now another issue, here is the trimming. I can cut the file into smaller piece with the camcorder, it is better, because the short piece can be tested better. The scritp will only work with the original file because of the trimming, or I can use it for any file length? I see there is a value at the trim command, it is a relative value, or absolute?
    Quote Quote  
  5. Trim() refers only to that specific source referenced in the avisynth script

    e.g.

    DirectShowSource("video4.mp4")
    Trim(100,200)

    This would only apply to "video4.mp4" , and would return frames 100-200. It wouldn't do anything to video1.mp4 or video6.mp4 .

    Is that what you are asking?
    Quote Quote  
  6. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    I am asking that I splitted the file, I have a shorter first piece now to do these tests. It takes very long to test with the 5 minute file, evey conversion takes 2 and a half hours. It is making me nervous. So I made a smaller piece, I guess I have to add a different trim value. How can I calculate it?

    Anyway, the script is still not good. HcGui says: could load Smoothfps.avs. I don't have that file in the plugins. Which filter does that belong to?

    By the way, couldn't all this conversion be solved in After Effects? I have downloaded the trial version, I guess if it is possible to do this there, that has all the components that is needed, so what if I'd try that? If that can output a needed file, I don't have to care about the muxing and such. Hmm?
    Quote Quote  
  7. Originally Posted by Bencuri View Post
    I am asking that I splitted the file, I have a shorter first piece now to do these tests. It takes very long to test with the 5 minute file, evey conversion takes 2 and a half hours. It is making me nervous. So I made a smaller piece, I guess I have to add a different trim value. How can I calculate it?

    Anyway, the script is still not good. HcGui says: could load Smoothfps.avs. I don't have that file in the plugins. Which filter does that belong to?

    By the way, couldn't all this conversion be solved in After Effects? I have downloaded the trial version, I guess if it is possible to do this there, that has all the components that is needed, so what if I'd try that?

    If you 've already cut the file shorter (for a small test), don't use trim() at all. It's already small enough, correct ?

    For .avs files you have to use Import() to load them, not LoadPlugin(). Or just copy & paste the function to the bottom of the script. Smoothfps uses mvtools2.dll , so either autoload it, or LoadPlugin() in the script

    Yes, it's possible to do the retiming in AE, but it will take you a while to learn the basics. But the deinterlacing quality is very poor compared to avisynth (might not matter as much since you are resizing to SD DVD). The interpolation is also many times slower than mvtools2 (but not necessarily better quality, unless you use 3rd party plugin, twixtor)

    Chances are, that many programs will have problems with these files (the header says 59.94, when it should be 29.97 frame rate, interlaced TFF)
    Quote Quote  
  8. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by poisondeathray View Post
    Originally Posted by Bencuri View Post
    I am asking that I splitted the file, I have a shorter first piece now to do these tests. It takes very long to test with the 5 minute file, evey conversion takes 2 and a half hours. It is making me nervous. So I made a smaller piece, I guess I have to add a different trim value. How can I calculate it?

    Anyway, the script is still not good. HcGui says: could load Smoothfps.avs. I don't have that file in the plugins. Which filter does that belong to?

    By the way, couldn't all this conversion be solved in After Effects? I have downloaded the trial version, I guess if it is possible to do this there, that has all the components that is needed, so what if I'd try that?

    If you 've already cut the file shorter (for a small test), don't use trim() at all. It's already small enough, correct ?

    For .avs files you have to use Import() to load them, not LoadPlugin(). Or just copy & paste the function to the bottom of the script. Smoothfps uses mvtools2.dll , so either autoload it, or LoadPlugin() in the script

    Yes, it's possible to do the retiming in AE, but it will take you a while to learn the basics. But the deinterlacing quality is very poor compared to avisynth (might not matter as much since you are resizing to SD DVD). The interpolation is also many times slower than mvtools2 (but not necessarily better quality, unless you use 3rd party plugin, twixtor)

    Chances are, that many programs will have problems with these files (the header says 59.94, when it should be 29.97 frame rate, interlaced TFF)
    Okay, but that file is totally missing from the plugins directory of Avisynth.

    Look at this:
    Image Attached Thumbnails Click image for larger version

Name:	cap2.JPEG
Views:	161
Size:	43.2 KB
ID:	12286  

    Quote Quote  
  9. Originally Posted by Bencuri View Post
    Originally Posted by poisondeathray View Post
    Originally Posted by Bencuri View Post
    I am asking that I splitted the file, I have a shorter first piece now to do these tests. It takes very long to test with the 5 minute file, evey conversion takes 2 and a half hours. It is making me nervous. So I made a smaller piece, I guess I have to add a different trim value. How can I calculate it?

    Anyway, the script is still not good. HcGui says: could load Smoothfps.avs. I don't have that file in the plugins. Which filter does that belong to?

    By the way, couldn't all this conversion be solved in After Effects? I have downloaded the trial version, I guess if it is possible to do this there, that has all the components that is needed, so what if I'd try that?

    If you 've already cut the file shorter (for a small test), don't use trim() at all. It's already small enough, correct ?

    For .avs files you have to use Import() to load them, not LoadPlugin(). Or just copy & paste the function to the bottom of the script. Smoothfps uses mvtools2.dll , so either autoload it, or LoadPlugin() in the script

    Yes, it's possible to do the retiming in AE, but it will take you a while to learn the basics. But the deinterlacing quality is very poor compared to avisynth (might not matter as much since you are resizing to SD DVD). The interpolation is also many times slower than mvtools2 (but not necessarily better quality, unless you use 3rd party plugin, twixtor)

    Chances are, that many programs will have problems with these files (the header says 59.94, when it should be 29.97 frame rate, interlaced TFF)
    Okay, but that file is totally missing from the plugins directory of Avisynth.

    Look at this:

    Where do you put it then? Change the path to where it is located. Make sure you save the script each time you make changes.

    It might be easier for you to copy the function to the bottom of the script
    Quote Quote  
  10. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Where did I put? I have no clue! I don't know at all what file is that!

    Here is the code that jagabo gave me:

    Import("C:\Program Files (x86)\AviSynth 2.5\plugins\SmoothFPS2.avs")
    Load_Stdcall_plugin("C:\Program Files (x86)\AviSynth 2.5\plugins\yadif.dll")

    DirectShowSource("1z.MP4", seek=false)
    AssumeTFF()
    AssumeFPS(30000,1001)
    Trim(0,10497)
    Yadif(mode=1, order=1)
    LanczosResize(720,576)
    SmoothFPS2(50,1)

    SeparateFields()
    SelectEvery(4,0,3)
    Weave()

    The error is regarding the SmoothFPS2.avs. I don't know where it is, because I haven't met this file in my life, LOL!
    Quote Quote  
  11. Just copy it to the bottom, erase the import line

    The function SmoothFPS2 is defined by those lines at the bottom

    If you copy just that section, alone in a .avs file, saved it , then placed it somewhere, then you could use Import()

    If you are using different file, change the path & filename. If you dont' need the Trim(), erase it, or comment it out (place "#" in front of the line)

    Code:
    
    DirectShowSource("1z.MP4", seek=false) 
    AssumeTFF()
    AssumeFPS(30000,1001)
    Trim(0,10497)
    Yadif(mode=1, order=1)
    LanczosResize(720,576)
    SmoothFPS2(50,1)
    
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    
    
    
    #requires MVTools
    function SmoothFPS2(clip source, int num, int den) { 
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num, den, mode=0)
    }
    Quote Quote  
  12. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Jagabo set the trimming, because the software detected 2x more frames as should have, so are you sure the new file won't be a problem? When I open the new file I have created from the original mp4, the short file, that's length is also not detected correctly. Are you sure trimming is useless?

    Reconsider it, and if trimming is needed, tell me how I can calculate what value to write to trimming. If I succeed, I have 6 more mp4 to process, because all this is a full concert, I will have to know how to determine the correct trimming value.

    Here is the new file:
    https://www.wetransfer.com/dl/aeQsVp4T/883d65a840978752bc23792346e71bf3fe9f6d0a3c115f7...8b3393834db482
    Quote Quote  
  13. Originally Posted by Bencuri View Post
    Jagabo set the trimming, because the software detected 2x more frames as should have, so are you sure the new file won't be a problem? When I open the new file I have created from the original mp4, the short file, that's length is also not detected correctly. Are you sure trimming is useless?

    Reconsider it, and if trimming is needed, tell me how I can calculate what value to write to trimming. If I succeed, I have 6 more mp4 to process, because all this is a full concert, I will have to know how to determine the correct trimming value.

    Are you sure it was 2x more frames, not twice the frame rate? Didn't jagabo say the problem was with your directshow filters?

    The file should have 8756 frames. It's about 5 minutes and 50 seconds long, ie 350 seconds. Multiplying by 25 fps gives 8750 frames. It's DirectShowSource() that is screwing up.
    Eitherway, if you have 2x more frames, using trim() is the wrong thing to do. If they were doubled up, you would select every 2nd one, not cut off a piece linearly from A to B

    I didn't download any of your files, except for the one in the other thread, so I'm not sure what's going on. I know the framerate of the header is incorrect in that file

    Moreover, I might have different directshow filter configuration than you. My filters might give different results

    I would recommend you fix your directshow filters. Start diagnosing what filters you are using with graphstudio as suggested above
    Quote Quote  
  14. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    The essence is that HCGUI detected 2x more frames at the actual amount in the file. After conversion, there was a long period in the file where there was no action, but a still image. And not the whole action was converted, from a 5:50 file, only 5 was action, the other 5 minutes were still image. From 5:50 minutes of concert, the result was 5 minute concert, 5 minute still.
    Last edited by Bencuri; 3rd May 2012 at 17:57.
    Quote Quote  
  15. Originally Posted by Bencuri View Post
    The essence is that HCGUI detected 2x more frames at the actual amount in the file. After conversion, there was a long period in the file where there was no action, but a still image. And not the whole action was converted, from a 5:50 file, only 5 was action, the other 5 minutes were still image.
    Likely, it's a problem with your directshow filters, not hcgui problem

    If you open the avs in vdub, and move the playhead, problem still exist? If so, it's likely problem with your directshow setup

    If the 1st half was fine, then 2nd half repeated, then that could be a valid reason for using trim()

    You would cut the 2nd half off with Trim(). The numbers you would use would be the point it starts to loop

    e.g.

    0-1000 ----------------->1st part
    1001-2000 -------------> repeated 1st part

    Then you would use Trim(0,1000) . Of course you would have to adjust the numbers for each file

    But I don't recall the other file having that problem, why does it occur with this one only ?
    Last edited by poisondeathray; 3rd May 2012 at 18:08.
    Quote Quote  
  16. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    VirtualDub is also making error. It detects 2x more frames.

    Actually the conversion was not a half full action, half still converstion. What happened:

    There was a 5:50 long mp4. HcGUI detected 11 minutes, 2x more frames as should, but the converted file was like that: 5 minutes were converted from the 5:50, the rest 5 minutes in the new file was still image. So there was a 10:00 file as outcome, it contained 5 minutes action from the original, the rest is still. Not like 5:50 action as original, and rest is still. There was always a small portion in the end it didn't convert. So I am not sure this trimming will be useful, because the problem is not that simple.
    Quote Quote  
  17. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    I did the conversion with the new script, not good. There is still that ******* still image part, and not the full action is converted. I am getting nervous now. If it wasn't my friends movie, I would delete it right away and forget forever. I was so stupid to agree with him to convert it. Next time I won't deal with people with a PAL only DVD player.
    Quote Quote  
  18. The point is, neither vdub or hcenc are the problem. The problem is likely your directshow splitter and/or decoder

    Ok, I'll have a look at the new file in post #102 . Is this new file giving you same problems (with the still image)?
    Quote Quote  
  19. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    So tell me what to do in Graphstudio, how chall I check that damned filter?
    Quote Quote  
  20. file=>render media file, select the video (not the avs). The boxes will show you which filters are connect. If you right click on the boxes and select properities it will give you more information

    There might be a way to change the fps by re-wrapping; hold on a sec , I'll download that file and check
    Quote Quote  
  21. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Is this normal?:

    HCGUI says: 4xxx frames in file

    Encodeing length is half of that. When I press encode, it starts encoding only half. What the hell is it doing? Is it normal????
    Image Attached Thumbnails Click image for larger version

Name:	ohhhhno.PNG
Views:	203
Size:	22.9 KB
ID:	12289  

    Quote Quote  
  22. Encodeing length is half of that. When I press encode, it starts encoding only half. What the hell is it doing? Is it normal????
    No not normal. It can only encode what you give it. You give it messed up file, so it encodes messed up file


    Ok try this:

    1) Download Yamb beta 2

    2) Editing=> Click to Extract Streams, select your MP4 file

    3) Extract All Streams to Raw Format, push next. There will be a h.264 and aac file, these are the elementary video and audio

    4) Back at the beginning=> Creation => Create an MP4 => add video & audio

    5) Important - highlight the video track, push properties, make sure frame rate is set to 29.970, push ok & next (rename the file if you want) . This will copy the new streams into a new MP4 file with the framerate re-written. Hopefully that will fix all the errors with your filters


    Test your script on the new file (adjust the script and path so DirectShowSource("newfile.mp4") ), this should have correct frame # and frame rate, unless your directshow filters are really messed up

    FFMS2 should work on the re-wrapped file too , if you specify fpsnum, fpsden (this way you avoid directshow)

    DGAVCIndex also works on the re-wrapped file

    This file "SANY2046.MP4" should have 2912 frames
    Last edited by poisondeathray; 3rd May 2012 at 18:33.
    Quote Quote  
  23. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Please tell me what it will do? I don't want to run useless rounds again. What is the outcome of this? Will it do the 60 to 25 conversion?
    Quote Quote  
  24. It fixes your framerate problem since you seem to be reluctant to fix your other directshow problems

    Since using ffms2 or dgavcindex doesn't rely on directshow , you will get same results as everyone else instead of different

    It should have 2912 frames before the frame rate conversion, 2429 after retiming
    Quote Quote  
  25. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Hehe, by the way, I have just noticed, it doesn't matter if trimming is on or not, or what value I set for it. HcGUI always writes the same interval to encoding length. I write, trim 4000. It writes? encoding length: 1200, I write 3000, 1200 again, I write 1000, 1200 again. Is this okay? Whenever I start encoding, no matter what I write to trim, it only wants to encode about 1200 frames. This is not correct, what the hell is it doing?
    Quote Quote  
  26. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Okay, this is what that GraphSudio gave?

    http://www.youtube.com/watch?v=CI7IsjLnGeI&feature=youtu.be

    Whatch it please and tell me what to set. I opened Directshow properties, you can see the content. Some words are in my native language, but I guess you know that panel well, so you know which section refers to what. I have no clue how to display my directshow in English. Please, give the the suggestions.
    Quote Quote  
  27. You no longer have to fiddle with directshow if you follow the instructions above for yamb to re-wrap the file

    You can avoid directshow all together = consistent results, not the messed up ones you've been getting

    The root problem is the header reads 59.94 on your camcorder clips - so all programs have problems. If you re-write the frame rate information to the proper 29.97, everything should work properly - that's what the procedure above is doing


    After you do the steps in post 112, just use the same script, just change the 1st line to match paths and filenames

    Code:
    FFVideoSource("PATH\rewrappedvideo.mp4")
    AssumeTFF()
    AssumeFPS(30000,1001)
    Yadif(mode=1, order=1)
    LanczosResize(720,576)
    SmoothFPS2(50,1)
    
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    
    #requires MVTools
    function SmoothFPS2(clip source, int num, int den) { 
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num, den, mode=0)
    }
    Quote Quote  
  28. Attached is SmoothFPS2.ZIP which contains SmoothFPS2.AVS. Extract the file and put it in your AviSynth plugins folder. I had previously copied athe function out of that file, and pasted it into the script I gave you.

    I was unable to find any combination of source filters and codecs that would correctly handle the MP4 files from that camcorder. The best I could come up with was DirectShowSource() which resulted in 2x the frame rate and 2x the number of frames. Ie, the original video was 10497 frames and 29.97 fps. But DirectShowSource() returned 20994 frames and 59.94 fps. Since the video didn't contain any frames beyoud 10497, frame 10497 was repeated over and over for the second half of the video. My solution was to use AssumeFPS() to fix the frame rate, and Trim() to remove the extra frames.

    If you want to see how many frames your video has you can use MediaInfo. It reports the same 2x that DirectShowSource did. You can also use Info() in an AviSynth script.

    Code:
    DirectShowSource("filename.ext")
    Info()
    That will report (overlay text within the video) a lot of information about the file, including the number of frames and the frame rate:

    Click image for larger version

Name:	info.jpg
Views:	164
Size:	71.6 KB
ID:	12290

    As poisondeathray pointed out, DirectShow is Windows' A/V subsystem. Using DirectShowSource() is asking Windows to open and decompress the video file for you (as opposed to something like AviSource() where AviSynth itself opens the file, splits the video and audio into separate streams, and decompresses them using installed VFW codecs). Exactly what combination of filters is used will depend on what you have installed on your system. At the start of this thread I was using LAV Filters. But later I switched back to Haali and ffdshow to see if there was any improvement. There wasn't much difference as far as this video was concerned. I also tried using the old version of ffms2 which screwed op some of the feilds/frames, and a newer version which locked up completely. I also tried using Core AVC as the decoder.
    Image Attached Files
    Last edited by jagabo; 3rd May 2012 at 20:09.
    Quote Quote  
  29. Member
    Join Date
    Apr 2012
    Location
    Hungary
    Search PM
    Originally Posted by poisondeathray View Post
    You no longer have to fiddle with directshow if you follow the instructions above for yamb to re-wrap the file

    You can avoid directshow all together = consistent results, not the messed up ones you've been getting

    The root problem is the header reads 59.94 on your camcorder clips - so all programs have problems. If you re-write the frame rate information to the proper 29.97, everything should work properly - that's what the procedure above is doing


    After you do the steps in post 112, just use the same script, just change the 1st line to match paths and filenames

    Code:
    FFVideoSource("PATH\rewrappedvideo.mp4")
    AssumeTFF()
    AssumeFPS(30000,1001)
    Yadif(mode=1, order=1)
    LanczosResize(720,576)
    SmoothFPS2(50,1)
     
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
     
    #requires MVTools
    function SmoothFPS2(clip source, int num, int den) { 
    super = MSuper(source, pel=2, hpad=0, vpad=0, rfilter=4)
    backward_1 = MAnalyse(super, chroma=false, isb=true, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    forward_1 = MAnalyse(super, chroma=false, isb=false, blksize=16, searchparam=3, plevel=0, search=3, badrange=(-24))
    backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=8, searchparam=1, search=3)
    forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=8, searchparam=1, search=3)
    backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=4, searchparam=0, search=3)
    forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=4, searchparam=0, search=3)
    MBlockFps(source, super, backward_3, forward_3, num, den, mode=0)
    }
    Okay, project with Yamb done, wonderful software, it is fast.

    I used this code you wrote here above. It doesn't work, see the outcome attached.
    Image Attached Thumbnails Click image for larger version

Name:	weee.PNG
Views:	221
Size:	45.5 KB
ID:	12291  

    Quote Quote  
  30. Your screenshot shows no .avs loaded

    Make sure you copy & pasted it correctly, and changed the 1st line.

    Open the .avs in vdub, what does the error message say?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!