Log in

View Full Version : Direct x264 encode (no AVISynth) with MeGUI?


bennynihon
14th February 2012, 01:01
From what I understand MeGUI requires AVISynth for serving the input stream to x264 for encoding. But since x264 now allows direct LAVF/FFMS input (has for quite some time), you would think it'd be more efficient to simply pass your input directly to x264 bypassing AVISynth (assuming you're doing either none or basic video filtering, such as cropping, resizing, etc.). For one, x264 is designed for multi-threads/multi-cores. Does MeGUI or anything similar allow this?

LoRd_MuldeR
14th February 2012, 01:22
Doesn't look to me like MeGUI was made to use native LAVF/FFMS input.

Though FFVideoSource() in Avisynth basically should do the same thing as x264's built-in FFMS. You can also use MeGUI's "File Indexer" for that purpose.

...or use another GUI that can use LAVF/FFMS input. There are plenty to choose from ;)

bennynihon
14th February 2012, 05:51
Doesn't look to me like MeGUI was made to use native LAVF/FFMS input.

Though FFVideoSource() in Avisynth basically should do the same thing as x264's built-in FFMS. You can also use MeGUI's "File Indexer" for that purpose.

...or use another GUI that can use LAVF/FFMS input. There are plenty to choose from ;)

Yeah, although AVISynth using FFVideoSource() could do the same thing, it's still an extra layer that is unnecessary and likely adds some inefficiencies to the process. Not to mention the fact that AVISynth doesn't really support multi-threads/cores or 64-bit natively.

I do like your Simple Launcher ;) Seems to be the only GUI (perhaps outside of Handbrake) that uses LAVF/FFMS input. But with Simple Launcher I would need to do a few extra steps to process to encode a Blu-ray disk to m4v, correct?

LoRd_MuldeR
14th February 2012, 13:44
Yeah, although AVISynth using FFVideoSource() could do the same thing, it's still an extra layer that is unnecessary and likely adds some inefficiencies to the process. Not to mention the fact that AVISynth doesn't really support multi-threads/cores or 64-bit natively.

Well, even if Avisynth itself doesn't support multi-threading (the "MT" branch does, by the way), Avisynth plug-ins still can do multi-threading internally. And, as far as I know, FFMS2 does multi-threading internally. At least for those lavc-based decoders that support it. The H.264 decoder does.

I do like your Simple Launcher ;) Seems to be the only GUI (perhaps outside of Handbrake) that uses LAVF/FFMS input. But with Simple Launcher I would need to do a few extra steps to process to encode a Blu-ray disk to m4v, correct?

Well, it can process everything as input that either Avisynth or x264's built-in FFMS/LAVF input can open/decode.

That should be the same situation as in MeGUI - plus the ability to use "native" FFMS/LAVF input.

Output, however, is limited to what x264 can output: MKV, MP4 or raw H.264/AVC. And all these will be video only.

So, if with ".m4v" you mean a video-only MP4 container with H.264 video, it can output that!

bennynihon
14th February 2012, 15:54
Well, it can process everything as input that either Avisynth or x264's built-in FFMS/LAVF input can open/decode.

That should be the same situation as in MeGUI - plus the ability to use "native" FFMS/LAVF input.

Output, however, is limited to what x264 can output: MKV, MP4 or raw H.264/AVC. And all these will be video only.

So, if with ".m4v" you mean a video-only MP4 container with H.264 video, it can output that!

I mean backing up a Blu-ray disk which is comprised of several .m2ts files and using a gui to create a mp4/mkv with audio, video, chapter breaks, etc. Using Simpler Launcher I'd have to mux video and audio at the end (not too big of a deal) but likely have to combine the input streams using something like AVISynth which defeats the purpose of me trying to avoid AVISynth. MeGUI does seem to be a convenient package to handle all of that stuff, but unfortunately requires AVISynth even when it is not necessary.

LoRd_MuldeR
14th February 2012, 16:00
If you want to combine several .m2ts files, you can't use the built-in FFMS input anyway. You'd have to join them via Avisynth.

Well, alternatively you could join all .m2ts files into one big file beforehand with some other tool. Then again you could use built-in FFMS input.

About audio encoding: Yes, with "official" x264 builds, audio encoding is not supported. And thus you'll have to mux the audio afterwards.

In contrast to MeGUI, the Simple x264 Launcher does not automate this task. However there are some unofficial x264 builds with audio support!

I believe that with these builds it should be possible to process the audio "on the fly" with Simple x264 Launcher. Though it's not tested...

bennynihon
15th February 2012, 00:35
ok, thanks for the suggestions!