Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th August 2008, 01:51   #41  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,688
There's a reason DigitAl said he didn't want comparisons... you can tell where this thread is going to head if you keep using them.

The DivX encoder isn't competitive yet--that's why its an alpha
Dark Shikari is offline   Reply With Quote
Old 28th August 2008, 02:23   #42  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by Dark Shikari View Post
There's a reason DigitAl said he didn't want comparisons... you can tell where this thread is going to head if you keep using them.

The DivX encoder isn't competitive yet--that's why its an alpha
I just sent my sample to a fried and he liked the "DivX" version more, because it looks softer
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 06:55   #43  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,124
Quote:
Originally Posted by LoRd_MuldeR View Post
I used Ligh's GUI for DivX H.264 ... So I can't give you the exact commandlines...
Liar!

WhisX.exe generates a WhisX.bat and executes it. Open the generated WhisX.bat, quote the content.
LigH is offline   Reply With Quote
Old 28th August 2008, 07:04   #44  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,688
Quote:
Originally Posted by LoRd_MuldeR View Post
I just sent my sample to a fried and he liked the "DivX" version more, because it looks softer
We have Avisynth filters for people like him.

Deen().Deen().Deen().Deen.Deen().Deen()!
Dark Shikari is offline   Reply With Quote
Old 28th August 2008, 07:16   #45  |  Link
ChronoCross
Does it really matter?
 
ChronoCross's Avatar
 
Join Date: Jun 2004
Location: Chicago, IL
Posts: 1,542
Quote:
Originally Posted by Dark Shikari View Post
We have Avisynth filters for people like him.

Deen().Deen().Deen().Deen.Deen().Deen()!
/me kills Dark Shikari


mftoon() ftw.....and ftseyweh (for the slowest encoding you will ever have)
ChronoCross is offline   Reply With Quote
Old 28th August 2008, 07:58   #46  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,124
Update:

WhisX now quotes filenames (hopefully) as necessary; and a few cosmetics (command line copyable; pyramide checkbox with optical feedback to B-reference checkbox).

No version tracking. Just download (again).
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid

Last edited by LigH; 28th August 2008 at 08:10.
LigH is offline   Reply With Quote
Old 28th August 2008, 12:16   #47  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,124
Update:

Settings management via INI files; an INI file with the same name as the application (e.g. "WhisX.ini") in the application folder is used as default settings during startup.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 28th August 2008, 13:16   #48  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by LigH View Post
Liar!

WhisX.exe generates a WhisX.bat and executes it. Open the generated WhisX.bat, quote the content.
Why you don't run the encoder directly and redirect the console output to the GUI application? Is that planned?
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 14:12   #49  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,124
I create the batch file on purpose: On one hand, both CLI and GUI are expected to be buggy; on the other, it is not yet worth the efforts, the next encoder may have a remarkably different set of options; and finally, you don't really need a GUI, do you?

Also it is not easy anymore to find out how to redirect console outputs to Delphi... most Delphi websites are already dead...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 28th August 2008, 14:25   #50  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by LigH View Post
Also it is not easy anymore to find out how to redirect console outputs to Delphi... most Delphi websites are already dead...
I can send you my code, in case you are interested

Basically I ported the code from this article to Delphi and added a few things I needed for LameXP:
http://support.microsoft.com/kb/190351/de
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 15:01   #51  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
LigH, here is a simple Demo application I just hacked together:
http://www.mediafire.com/?mamwiyubawt

(Sources included, the EXE was compiled with Delphi 7.0 Professional)


EDIT: Re-uploaded an improved version. Link has been updated!

EDIT2: Re-uploaded an improved version - again. Link has been updated!
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 28th August 2008 at 17:17.
LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 15:36   #52  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,124
Great.

Not sure if I will use it already for DivX264 CLI alpha 1, but maybe some day...
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 28th August 2008, 15:42   #53  |  Link
buzzqw
HDConvertToX author
 
Join Date: Nov 2003
Location: Cesena,Italy
Posts: 6,552
btw i added support in AutoMKV, i just wait approval from DivX!

BHH
__________________
HDConvertToX: your tool for BD backup
MultiX264: The quick gui for x264
AutoMen: The Mencoder GUI
AutoWebM: supporting WebM/VP8
buzzqw is offline   Reply With Quote
Old 28th August 2008, 16:24   #54  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by LigH View Post
Not sure if I will use it already for DivX264 CLI alpha 1, but maybe some day...
It already works with my simplistic Demo application and this commandline:
cmd.exe /c "C:\Program Files (x86)\DivX\DivX H.264 Codec CLI\bin\WhisX.bat"

(But the log filter would need some adjustment for divx264.exe -- done, see post above)


@ DivX developers:

It seems the DivX CLI encoder is missing to call fflush() after writing the progress line to STDOUT/STDERR.
This will cause a nasty delay when redirecting the console output...

x264 does do it the following way:
Code:
            if( i_frame_total )
            {
                int eta = i_elapsed * (i_frame_total - i_frame) / ((int64_t)i_frame * 1000000);
                i_progress = i_frame * 1000 / i_frame_total;
                fprintf( stderr, "encoded frames: %d/%d (%.1f%%), %.2f fps, eta %d:%02d:%02d  \r",
                         i_frame, i_frame_total, (float)i_progress / 10, fps,
                         eta/3600, (eta/60)%60, eta%60 );
            }
            else
                fprintf( stderr, "encoded frames: %d, %.2f fps   \r", i_frame, fps );
            fflush( stderr ); // needed in windows
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 28th August 2008 at 20:25.
LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 20:09   #55  |  Link
DigitAl56K
Registered User
 
Join Date: Nov 2002
Location: San Diego, CA
Posts: 936
LoRd_MuldeR & LigH: Wow, you guys are on fire today!

LoRd_MuldeR: I'll log the fflush() issue. Side: I already have an issue logged where some of the -help is written to stderr instead of stdout.

LigH: I have a suggestion for your app!

You could support a wider range of inputs by doing this:
  • If the input is AVI or AVS, write an intermediary AVS script that loads the input file via AVISource
  • If the input is another type, write an intermediary AVS script that loads the input via DirectShowSource
  • You could use Don's command-line guide for DGMPGDec to handle MPEG formats if it's available on the system.

After writing these intermediary files you can open them with the windows AVIFile APIs and check the rate/scale of the video stream to make sure it's valid and if not automatically apply something like ConvertFPS with the nearest allowed rate/scale. You could also check the width and height and apply AddBorders and/or a resize if necessary, then finally pass this AVS file to the encoder. If you want to get really fancy you could add ConvertToYV12 to the AVS script and get the picture in a known format through the AVIFile interfaces, then apply a routine to determine a crop window to remove borders, checking various frames throughout the file. I think you can also get PCM samples easily this way so you could write a WAV file then pass it through an audio encoder and hook up mkvmerge to bring everything together.

buzzqw: I sent you an e-mail, I'd love to see AutoMKV support this!

LoRd_MuldeR & Dark Shikari: Thanks for the comparison vid, and for keeping the conversation on track! I haven't had time to thoroughly investigate it yet but x264's new psy does seem impressive I did notice that the clip is rather low motion and x264's settings were quite extreme - e.g. 16 refs, 15 consecutive b's, ~20s IDR interval, so I'm wondering if this is somewhat special case. Anyway, I'll look into it further I think we also have that clip so I can recreate it with more comparable settings.

Last edited by DigitAl56K; 28th August 2008 at 20:31.
DigitAl56K is offline   Reply With Quote
Old 28th August 2008, 20:39   #56  |  Link
DeathTheSheep
<The VFW Sheep of Death>
 
DeathTheSheep's Avatar
 
Join Date: Dec 2004
Location: Deathly pasture of VFW
Posts: 1,149
I'm disappointed that there is no constant quality mode, which is a necessity for my purposes. Did I just miss a commandline option or something?
__________________
Recommended all-in-one stop for x264/GCC needs on Windows: Komisar x264 builds!
DeathTheSheep is offline   Reply With Quote
Old 28th August 2008, 20:48   #57  |  Link
DigitAl56K
Registered User
 
Join Date: Nov 2002
Location: San Diego, CA
Posts: 936
DeathTheSheep:

Constant quality is not available because it doesn't allow management of rate spikes. Keep in mind that the encoder is designed to create CE-friendly streams. 1-Pass target-quality on the other hand is one of the most requested features at present.
DigitAl56K is offline   Reply With Quote
Old 28th August 2008, 21:03   #58  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,135
Quote:
Originally Posted by DigitAl56K View Post
Constant quality is not available because it doesn't allow management of rate spikes.
Isn't that the entire point of "constant quality" mode? Use as many bitrate as needed and don't care about the final size or bitrate spikes?

Obviously 1-Pass makes it hard to implement VBV restrictions, but it should be possible to run a simple 1-Pass CQ encode without any VBV restrictions at least...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.


LoRd_MuldeR is offline   Reply With Quote
Old 28th August 2008, 22:18   #59  |  Link
DigitAl56K
Registered User
 
Join Date: Nov 2002
Location: San Diego, CA
Posts: 936
Quote:
Originally Posted by LoRd_MuldeR View Post
Isn't that the entire point of "constant quality" mode? Use as many bitrate as needed and don't care about the final size or bitrate spikes?

Obviously 1-Pass makes it hard to implement VBV restrictions, but it should be possible to run a simple 1-Pass CQ encode without any VBV restrictions at least...
Yes, that is the entire point of it and the entire problem! The encoder, at least in this early version, is designed to implement the draft profile. Modes that would typically be part of unconstrained operation aren't available because currently this isn't the intended purpose of the release.

However, we are taking feedback about all requested future options. How important to you is constant quality mode and what are the situation under which you'd want to use it?
DigitAl56K is offline   Reply With Quote
Old 28th August 2008, 22:20   #60  |  Link
stax76
Registered Lurker
 
Join Date: Jun 2002
Posts: 6,430
Latest StaxRip beta has DivX H.264 support. Compressibility check is missing because there is no constant quality mode. I use crf 22 so not having a constant quality mode is a show stopper for me. Since the encoder is privat + alpha it will only show up if the encoder is installed. GUI looks as follows:



For those who wonder why I often use the TreeView instead of real controls, reasons are: Every option requires a single line code only so it helps to fight bloat, it's quick and easy to code, easy to maintain, easy to change, easy to extend and automatically clean and polished.

Last edited by stax76; 28th August 2008 at 22:28.
stax76 is offline   Reply With Quote
Reply

Tags
cli, divx, encoder, h.264, tutorial

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:20.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.