VideoHelp Forum
+ Reply to Thread
Results 1 to 16 of 16
Thread
  1. I remember that (maybe) yes but I don't rember how
    Quote Quote  
  2. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    TWriteAVI

    http://avisynth.nl/index.php/External_filters#Export_Filters

    TWriteAVI("C:\File.avi", FourCC="MJPG", overwrite=true)
    Quote Quote  
  3. thanks ndjamena, from https://forum.doom9.org/showthread.php?t=172837&page=2 seems that TWriteAVI requires a TWriteAVI.dll but I cannot find it on the site.

    And I cannot understand if TWriteAVI generate a fake .avi that recall the original video file, or if it write an .avi file with the desiderd fourCC.
    Please can you help me a cat ? thanks
    Quote Quote  
  4. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Are you looking for something like AVFS that will pretend to be an MJPG AVI?
    Quote Quote  
  5. thank you, I have download it, I try to use it so that it generate a "fake" .avi in mjpeg

    my base script is

    Code:
    LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll")
    LWLibavVideoSource("C:\C0020.MXF")
    if possible I would like to have a virtual file that "emulate" the source (c0020.MXF) as an .avi mjpeg file
    Quote Quote  
  6. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    Oh, "fake". AVFS is the only way to make a "fake" avi, and it only outputs uncompressed YUV.

    You see, to make a "fake" avi, it would have to look just like an actual avi to the program reading it, which means each frame would have to exist in a fixed position in the file, which means the size of every frame would have to be known beforehand, which isn't possible if you're using any form of compression, especially if you want a lossless frame.
    Quote Quote  
  7. AVFS only outputs uncompressed YUV progressive, it don't have expose flagged interlaced output.

    Uff so that is impossibile the way of a dummy .avi mjpeg
    Quote Quote  
  8. progressive* even if @ interlaced content
    Quote Quote  
  9. Member
    Join Date
    Sep 2012
    Location
    Australia
    Search Comp PM
    If I try to encode an avs script to an mjpeg avi using FFMPEG at a constant bitrate what I wind up with is a file where each frame is a different size, which obviously is useless behaviour for a virtual file.

    AVISynth itself doesn't have an interlaced flag, so any program outputting from it won't have one either. Generally with AVISynth you set the flag manually on the encoder side. MJPEG output wouldn't make any difference in that regard.
    Quote Quote  
  10. Originally Posted by marcorocchini View Post
    AVFS only outputs uncompressed YUV progressive, it don't have expose flagged interlaced output.

    Uff so that is impossibile the way of a dummy .avi mjpeg
    I assume this still applies.
    http://avisynth.nl/index.php/Interlaced_fieldbased
    "Currently (v2.5x and older versions), AviSynth has no interlaced flag which can be used for interlaced video. There is a field-based flag, but contrary to what you might expect, this flag is not related to interlaced video. In fact, all video (progressive or interlaced) is frame-based, unless you use AviSynth filters to change that."

    Why do you need an interlaced flag?

    MakeAVIS can wrap scripts into an AVI. No virtual anything required. It comes with ffdshow. There's no shortcut for it but you'll find makeavis.exe in the folder where ffdshow is installed. It's very self explanatory. Create a script and open it with MakeAVIS. If you want audio in the AVI it needs to be PCM. You might need to ensure the "Avisynth" codec is enabled in ffdshow's decoder configuration, and you can try enabling the ffdshow option for forcing the interlaced flag for the output.

    AVS2AVI is another option. No virtual file system needed. When it's installed, you'd create a script, right click on it and select "Wrap into AVI". As with MakeAVIS, that gives you an AVI of a few MBs in size (without audio). You can add audio of any type supported by AVI with VirtualDub or VirtualDubMod. Open the AVI, add the audio, save a new AVI using direct stream copy for both video and audio and you'll end up with an AVI a few MBs larger than the audio file size. You can even edit it with VirtualDub and save an edited version the same way.

    I can't remember all the do's and don'ts, but I'm fairly sure the script needs to remain in the same folder as the AVI, although you can change filtering such as denoising in the script without having to create a new AVI, but changing any resizing or filters that alter the frame rate will probably result in unpleasantness.

    I've no idea if AVS2AVI works on newer flavours of Windows (XP and Win7 should be fine). The same applies to MakeAVIS as I've not used it with newer Windows myself. AVS2AVI is hard to find these days so I've attached it for you.
    Image Attached Files
    Quote Quote  
  11. Originally Posted by hello_hello View Post

    Why do you need an interlaced flag?

    .
    Hi cat I need to frameserve my NLE that works well only with .AVI/MJPEG and .AVI/YUY2 uncompressed files.
    MakeAVIS and AVS2AVI works using VFW, rispectively (if I don't mistake) they are using AVIS and AVAV fourcc: unfortunately I can not work in VFW or Directshow mode even if my NLE can use this channels (but playback is not in realtime, too usage of RAM per clip managed, crash ecc..).

    AVFS works well but don't ouput flagged interlaced (even if content can be treated as interlace ("source is fielded"), so that my NLE recognize all as "progressive" ("No fielding") and don't apply the internal deinterlacer so that result is this:

    Image
    [Attachment 40921 - Click to enlarge]


    the "disturb" is present expecially on images in movements. The clip C0056_HD.AVI is a fake avi file, correctly imported by the NLE (playback is absolutely fine) but recognized as Progressive even if at interlace content.

    However I can deinterlace directly from the base .avs script

    Code:
    LoadPlugin("v:\automazioneclip\avisynth\plugins\LSMASHSource.dll")
    LWLibavVideoSource("W:\C0056.MXF")
    bob().SelectEven()
    so that image have that I called "visual deinterlace":

    Image
    [Attachment 40922 - Click to enlarge]


    but, this is not the correct way: because to render effects/transition the NLW went have a wrong input... this however is not a big problem because, only have to remove the bob().SelectEven() line BEFORE the export to file process.

    The problem would be solved if AVFS emitted have the correct interlaced flag
    Quote Quote  
  12. Marsia Mariner
    Guest
    Originally Posted by marcorocchini View Post
    .........

    The problem would be solved if AVFS emitted have the correct interlaced flag
    The problem would be solved if you stopped using Speed Razor already.
    Quote Quote  
  13. Originally Posted by Marsia Mariner View Post
    Originally Posted by marcorocchini View Post
    .........

    The problem would be solved if AVFS emitted have the correct interlaced flag
    The problem would be solved if you stopped using Speed Razor already.
    but why? as I do now to learn avid: I'm a cat, sorry I cannot, too complicated
    Quote Quote  
  14. That Razor cannot interpret footage? This is a basic ability of any videoeditor. It is an older peace of software, from times where avi was edited, so it should have a function to change video from progressive to interlace (or the other way). There should be manual user input function somewhere to simply fix it. Try to find properties for that clip , can you change it overthere?
    Quote Quote  
  15. Image
    [Attachment 40925 - Click to enlarge]


    theorically yes but in practice don't have effects on the internal visual deinterlacer it have effects only in the rendering segments. For each .avi YUY2 uncompressed taked by AVFS, the razor "see" this files as "no fielding"=progressive and don't appy the internal deinterlacer. By default the razor have checked the flag "source is fielded" because the Project Editing Settings is set as "1920x1080@25fps even field parity" = interlaced. If I uncheck the flags the clip need to be rendered also for the playback ... impossibile working in this mode, OR I can change the project editing settings to progressive instead of interlace. But too mess, the problem is that a interlace clip exposed by the AVFS is not signed as "flagged interlace" so the result is this:

    Image
    [Attachment 40926 - Click to enlarge]


    Another proof: I take to the Razor a clip that is correctly flagged as interlaced also from mediainfo. Its a real encoded uncompressed YUY2 .avi file, not an AVFS file, but a difference of the AVFS is flagged interlaced and recognized by the NLE as "Even Field Parity"= interlaced. In this case the "visual deinterlace" is correctly apply by the razor:

    Image
    [Attachment 40927 - Click to enlarge]


    But unfortunatly using AVFS this, at the moment, is not possible. And is not possibile edit with HD uncompressed video file

    So I'm forced to use AVFS (deinterlacing clips in the avisynth script to get the "fake" visual deinterlace effect), hoewver it work very well as frameserver, I can load 100/150 clip as virtual clips. The only problem is that when you load over 50/60 clip the amount usage of Ram by the AVFS is a little high, but the PC can work and edit well. I can load also MP4, and other formats and usually the playback is good
    Last edited by marcorocchini; 13th Mar 2017 at 13:52.
    Quote Quote  



Similar Threads

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