[Xvid-devel] xvid_encraw: AVI output >2 GB?

Mario *LigH* Rohkrämer contact at ligh.de
Tue Jul 7 15:51:29 CEST 2015


The problem with AviMux-GUI is that it probably does not support m4v;  
therefore MeGUI had to start using ffmpeg first to multiplex a video-only  
AVI from a raw m4v, then AviMux-GUI to add audio streams.

If AviMux-GUI supports MKV well, then it may be possible to have  
xvid_encraw encode large results to an MKV containing MPEG-4 ASP, then use  
AviMux-GUI to add audio streams and create an AVI. This will have to be  
tested... Or maybe using ffmpeg with libxvid instead of xvid_encraw to  
create the video in the first place.

A VfW/DS/MF encoder (starting with VirtualDub or avs2avi) will write AVIs  
with the FourCCs "xvid"/"XVID" (vids/BITMAPINFOHEADER), but would require  
installing a VfW codec into the user's system. But ffmpeg does not support  
distinct FourCCs while multiplexing a raw m4v into an AVI container:  
"-vtag xvid" will create AVIs with the FourCCs "xvid"/"xvid", "-vtag XVID"  
will create AVIs with the FourCCs "XVID"/"XVID".


Am 07.07.2015, 15:32 Uhr, schrieb Michael Militzer <michael at xvid.org>:

> Hi,
>
> the xvid_encraw example does not have its own AVI muxer but it uses the
> AVIFile API on windows. And I think you are correct: AVIFile has a size
> limitation of 2 GB.
>
> We have no plans creating an own AVI muxer for xvid_encraw to circumvent
> this size limitation. What you could do instead is to use the VfW encoder
> via DirectShow or Media Foundation (like the Xvid MiniConvert example
> does) - the DirectShow AVI muxer does not have the 2 GB size limitation.
>
> Other options would be to encode to a raw .m4v and then mux to AVI with
> some muxing tool. ffmpeg would be one option and setting the FourCC
> to "xvid"/"XVID" afterwards should be rather easy. A bigger issue might
> be the "packed b-frames" feature of xvid_encraw in case you need it - I'd
> guess this won't come out properly when you first encode to .m4v and then
> mux with ffmpeg. Another option over ffmpeg might be MP4Box from the
> gpac project - iirc, it can import raw m4v streams and output video muxed
> as AVI. Also it's supposed to handle packed b-frames correctly. Finally,
> there's also still AVIMux-GUI, which I think can also be scripted...
>
> Best regards,
> Michael
>
>
> Quoting Mario *LigH* Rohkrämer <contact at ligh.de>:
>
>> Greetings.
>>
>> Is it correct that xvid_encraw does not support OpenDML AVI output,  
>> hence
>> limits created AVIs to 2 GB?
>>
>> And because it is an "example project", it is probably never planned to  
>> be
>> supported?
>>
>> Would it be necessary to either prefer ffmpeg/mencoder with linked  
>> libxvid
>> to encode directly to a large AVI, or let xvid_encraw create a raw m4v
>> file and use a supporting multiplexer (probably only ffmpeg) later?
>>
>> The latter will have the disadvantage that a following multiplexer needs
>> to get told the FourCCs to be filled in the AVI header (except it would
>> derive them from the m4v input format). I guess that the second FourCC  
>> (in
>> the compression field of the BITMAPINFOHEADER structure) will be the  
>> only
>> relevant for most players; but I can't be certain that no software ever
>> will check the first FourCC too (the "used encoder" in the "vids"  
>> chunk).
>> I found that ffmpeg as AVI multiplexer will use a forced FourCC via
>> "-vtag" parameter, but apply both the same, whereas the VfW uses  
>> distinct
>> FourCCs (lowercase "xvid" in "vids" chunk and uppercase "XVID" in
>> compression field).
>>
>> --
>>
>> Fun and success!
>> Mario *LigH* Rohkrämer
>> mailto:contact at ligh.de
>>
>> _______________________________________________
>> Xvid-devel mailing list
>> Xvid-devel at xvid.org
>> http://list.xvid.org/mailman/listinfo/xvid-devel
>>
>
>
>
>
> _______________________________________________
> Xvid-devel mailing list
> Xvid-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel


-- 

Fun and success!
Mario *LigH* Rohkrämer
mailto:contact at ligh.de
 


More information about the Xvid-devel mailing list