View Full Version : ccefront 1.0 RC3: THE front-end for CCE SP
tylo
28th March 2005, 20:00
Download:
CCEFront v1.0 RC3 (http://home.broadpark.no/~tylovset/files/ccefront10rc3.zip)
Source Code (AutoIt script) (http://home.broadpark.no/~tylovset/files/ccefront10rc3.au3)
CCEFront - a versatile front-end for CCE SP
Created by Tylo. Copyright (c) 2005.
ccefront is a powerful unified CLI (command line interface) for all popular versions of CCE SP (2.50, 2.66, 2.67, 2.70). It adds a number of advanced features, like predictive size OPV encoding (roba), and a flexible way of generating ECL input files through a number of command line options. It also adds a convenient way to select the bitrate indirectly by specifying the target size for each of the encoded files, and the total target size for all the input files to be encoded. Finally, normal CCE templates, file based ecl template, special AVS templates with substitution parameteters, import of matrices and chapter points from files are all supported.
Installation
Unzip to any directory (preferable in your PATH). When first time executed, it will create a directory in your Application Data area, where the template directories, matrices and the tmp (work) directory are located. You may open this directory from the configuration GUI. CCE SP 2.66/2.67 Trial requires EclCCE 1.81 by RB. To exit ccefront in roba mode, left-click on the tray-icon, and select Exit. In the other modes, you may simply close CCE. To uninstall, remove the ccefront application directory and the ccefront.exe file.
Usage
ccefront [-batch] [-auto] [-roba] [-t ccetempl] [-first F] [-last F]
[-vmode ] [-brate N] [-brate_minmax N M]
[-pass <1-9>] [-bias <0-100>] [-q_factor <1-200>] [-q_char <0-100>]
[-gop M NM] [-progressive <0|1>] [-new_vaf <0|1>]
[-aspect <1:1|4:3|16:9|2.21:1>] [-seq_endcode <0|1>]
[-top_first <0|1>] [-zigzag <0|1>] [-nofilters] [-noaudio]
[-size_mb MB] [-total_mb MB] [-extra_br N] [-t_avs templ.avs] [-t_ecl templ.ecl]
[-out_ecl file.ecl] [-out_avsdir dir] [-qmat matrix.txt] [-chap chaps.txt]
[-@resize W H] [-@crop L T W H] [-@addborders L T R B]
[-roba_reuse_samples] [-roba_szpass_mode N]
[-roba_sample_percent P] [-roba_adjust_percent P]
[-nocancel] [-minimize] [-shutdown|-hibernate] [-priority <0-5>]
[-un-{option}] [[-ecl] file.ecl] [videofile(s)] ...
Arguments
Note: arguments are processed from left to right, and modifier arguments (e.g -brate N) must be specified before the videofile or input ECL file. Some options are global (e.g. -total_mb), which means that it can be specified at any position on the command line.
-auto Global opt. CCE command line argument. Auto start CCE.
-batch Global opt. CCE command line argument. Auto start and close CCE
after encoding.
-roba Global opt. Enable RoBa OPV mode with predictable target size. Implies
-batch mode. An analysis is done to determine the Q factor that will create
a bitrate closest possible to the one specified by vbr_brate_avg in the
.ecl file. Note that if the current video mode in the .ecl file is OPV, then
opv_brate_min and opv_brate_max are used, otherwise vbr_brate_min and
vbr_brate_max are used. You may edit the ccefront.ini file to customize
the default values for roba, and override them with the -roba_... command
line arguments. If the path to rejig_exe is set, ReJig may be used in a
subsequent "sizing" pass (when the mpv file is oversized).
Note that the -roba and the other -roba_... flags are global, and applies
for all the input files, also if they are specified at the end of the
command line. A roba_log.txt file will be created for each processed file
and placed in the tmp subdirectory of the ccefront application data dir.
-roba_szpass_mode N In roba-mode, an optional "sizing" pass can be performed, either to make
sure that the result hits the target size accurately, or to improve the
encoding quality (not all agree that it will). The sizing pass can either
be done by encoding (CCE), or transcoding (oversized only, requires ReJig).
Mode 0-5 can be used:
0 - no sizing pass
1 - always encode
2 - transcode if oversize (oversize slack is default 0%)
3 - encode if oversize
4 - encode if undersize or oversize or Q > limit
(undersize slack is default 2.5%, Q limit is default 40)
5 - encode if undersize or Q > limit, transcode if oversize
-roba_szpass_limits L H Q
Set low, high slack values for under/oversizing, and Q limit.
-roba_... Set various other roba values. Defaults in ccefront.ini.
-t template CCE command line argument. Select a CCE template. This option cancels
all the previously specified ecl-key-modifier options (e.g. -bias).
-first F CCE command line argument. Set first frame to encode.
-last F CCE command line argument. Set last frame to encode.
-vmode mode Unified video mode setting. mpcbr = multipass cbr and vbr1 = 1st pass VBR
only works with newer CCE versions.
-brate N Set both CBR and average VBR bitrate.
-brate_minmax N M Set Min and max bitrates. (both VBR and OPV).
-pass N Set number of VBR (and MP CBR) passes after initial vaf pass.
-bias N Set VBR bias.
-q_factor OPV Q factor.
-q_char Set quantizer characteristics (quality priority). Normalized to range 1-100
for all versions of CCE.
-gop M NM Set gop values. gop_hdr is also set as M * NM in the .ecl file.
-progressive B Specify whether source is progressive or interlaced.
-new_vaf B Set the create_new_vaf key. Will work with CCE SP 2.50 as well, although not
originally supported.
-aspect R Set aspect ratio. 2.21:1 is only supported with CCE SP 2.70
-nofilters Disable all built-in filters (horizontal and vertical) and dithering.
-noaudio Disable audio output.
-size_mb N Another way to set bitrate. Specify the target size in MB of each encoded file.
The bitrate is computed and set in the created ECL file.
-total_mb N Global option. Set total target size of all files in MB. The bitrate is
computed and set in the created ECL file. Example:
> ccefront -brate 4000 f1.avi -brate 2000 f2.avi -total_mb 800
This will adjust the bitrates for both f1.avi and f2.avi to output 800 MB in
total, but f1.avi will still retain the double bitrate of f2.avi
-extra_br N Specify extra bitrate (typically audio) that is subtracted from the bitrate
you specify with either -brate, or indirectly by -size_mb or -total_mb.
-t_avs t.avs Create an AVS file for following input video files, from an AVS "template" file.
If the specfied file is not found, the templates subfolder is searched.
Substitution parameters that may be used in the template:
@source_file, @resize_w, @resize_h, @crop_l, @crop_t, @crop_w, @crop_h,
@addborders_l, @addborders_t, @addborders_r, @addborders_b
-@resize W H Set values for the avs template substitution variables. (-t_avs)
-@crop L T W H Set values for the avs template substitution variables. (-t_avs)
-@addborders L T R B Set values for the avs template substitution variables. (-t_avs)
-t_ecl t.ecl Use a "template" ECL file. The template file should be a stripped down .ecl file.
Note that this option cancels all the previously specified ecl-key-modifier
options (e.g. -bias). Only the [item] section is used. Basically it should have
removed all keys that are automatically detected by CCE during loading, such as
frame rate (frame_rate_idx). It should be similar to the -t option, but it uses
an external template file instead of an internal template (stored in the registry).
The following keys are "unified" for all versions:
vmode=N (N: 0=OPV, 1=CBR, 2=VBR, 3=MP CBR, 4=VBR 1st,
uses correct key and values for various CCE's)
quality_prec=N (N: 0-100. Scales down to 0-64 for CCE 2.66/2.67,
uses key "q_char_f" for CCE 2.70)
In addition, the template file may contain a version-specific section, e.g.
[item-2.50], [item-2.66] [item-2.67], or [item-2.70]. Note that no "unification"
of the keys mention above will take place in these sections.
A matrix (qmat) may not be part of a template as of now. Use the -qmat option to
import a matrix instead.
-out_ecl file Global opt. Specify path/name of generated ECL file. Default output is
"created.ecl" in the tool's home folder.
-out_avsdir dir Global opt. Specify folder where the generated .avs files (by using -t_avs)
should be placed. Default is the same as the input folder.
-qmat file.txt Import a quantization matrix from a file. If the specfied file is not found,
the q_matrix subfolder is searched. An example file is located in this folder.
-chap ch.txt Import chapter points from a file. Simply appended to the [file] section in
the ECL file.
-nocancel Global opt. Hide the Cancel button in CCE encode window. Default enabled in
ccefront.ini file. Hitting the Enter key in CCE SP 2.50, when the encode window
is active will *not* Cancel encoding (as it does when using 2.50 alone).
-minimize Global opt. Minmize CCE SP 2.66/2.67 with EclCCE / ReJig
-shutdown Global opt. Power down computer after encoding (-auto/-batch/-roba mode).
-hibernate Global opt. Hibernate computer after encoding (-auto/-batch/-roba mode).
-priority N Global opt. Set CPU process priority. 0=idle, 2=normal, 5=realtime. Default idle,
but can be modified in the ccefront.ini file.
-un-{option} Undo earlier command line settings that modifies .ecl file settings. Example:
> ccefront -qmat mymatrix.txt f1.avi -un-qmat f2.avi ;f2.avi does not use matrix
As a special case, -un-all will unset all ecl-modifier arguments.
[-ecl] file.ecl CCE command line argument. Input ECL file. You may skip the -ecl option if
the file has an .ecl extension
videofile(s) Any video file that is accepted by CCE, including .avs files. Wildcards * and ?
may be used for specifying a group of files.
The ccefront.ini file
Most keys in the ini file are self-explanatory, and can be edited by the user. Note that if cce_exe is to be changed, also set cce_title. (you may simply clear both keys, and rerun).
Examples
Encode a bunch of avi's so they fit on a DVD. This uses a real CCE template (named DVD).
> ccefront -t DVD -total_mb 4000 scene*.avi -batch
Encode two AVS files with individual "home brew" template files, and specify a target size for each. Note that -size_mb must be specified after -t_ecl because -t_ecl cancels the -size_mb option.
> ccefront -t_ecl DVD.ecl -size_mb 200 file1.avs -t_ecl SVCD.ecl -size_mb 300 file2.avs
Advanced example. Encode two AVI files in RoBa mode, using both an external AVS and ECL template. Make the total size 3800 MB, but set a bitrate "weight" for each file:
> ccefront -t_ecl DVD.ecl -t_avs AVI2DVD.avs -brate 3000 f1.avi -brate 4000 f2.avi -total_mb 3800 -roba
History
1.0
- Added GUI for configuration.
- Added -extra_br N
- Added 'Min Q' in GUI.
- Removed timouts completely.
0.99
- Attempt to fix the timeouts problem.
0.97
- Fixed timeout problem (I think :)
- Fixed -roba_reuse_samples
- Fixed -nocancel
- Added -noaudio
- Added an exit option in ini file.
- Other small adjustments
0.96
- First release
buzzqw
28th March 2005, 21:25
:eek: :eek: :eek: ASTONISHED :eek: :eek: :eek:
BHH
Venom_IL
28th March 2005, 21:43
wow... could this replace EclCCE for CCE SP ver 2.7+ to work with DVD2SVCD ?
buzzqw
29th March 2005, 07:10
hurry up Mod ! validate attachment !! ;)
BHH
Boulder
29th March 2005, 10:43
Tylo, maybe you should PM Doom9 so he'll add it to the downloads section. I haven't seen any of the CCE mods around in a while.
tylo
29th March 2005, 18:58
I did PM doom9 when I posted this, but he doesn't seem to be around.
Anyway, the wait is over - you can get it HERE (http://forum.doom9.org/showthread.php?s=&postid=631321).
Enjoy.
Boulder
29th March 2005, 19:03
I can put it on my webspace for the time being if that's OK to you.
EDIT: Humm..can't get it working. The archive appears to be broken, WinRAR tells me "Unexpected end of archive".
tylo
29th March 2005, 19:10
Thanks, but don't bother for now. You should rather use your time for testing it and reporting.
Cheers.
/EDIT: Sorry. Should be fixed in a few minutes. ... Done! :D
Boulder
29th March 2005, 19:26
Thanks! I've got lots on queue for processing with different lengths and content so it'll make a nice test bed:)
Zeul
29th March 2005, 19:28
Oh my god :eek:
Fantastic work
Boulder
29th March 2005, 20:48
First impression : excellent! I've missed your D2SRoBa's prediction capabilities very much ever since I started putting multiple movies per DVD. I haven't done any complete encodes yet, just played with the prediction part. I also like the ability to use my ecls as it's much easier to make all the adjustments in the CCE GUI and then use the ecl file with CCEFront.
One bug found: the cancel button doesn't appear even if nocancel=0 is in ccefront.ini. I'm using v2.70.02.
buzzqw
29th March 2005, 21:58
little bug
cce 2.70.02.00
if in avs there isn't loaded AddAudio() cce quits.
Would be possible another command like -no_audio ?
BHH
drob
29th March 2005, 23:17
Great work tylo, can you please explain these two options?
adjust_percent=1.4
prediction_tweak=1
tylo
30th March 2005, 07:37
@Boulder: Thanks. Cancel button bug will be fixed in 0.97
@buzzqw: I can add -noaudio option that will simply set "aud_out=0",
but CCEFront should not force anything into your avisynth-scripts.
You can also put aud_out=0 in a "ECL template file", and surely in a regular CCE template.
@drob:
'adjust_percent' is a value that is used for adjusting the size estimation during the OPV-analysis phase. 1.4% is a good value, and only if you see a *consistent* over or under estimation, you should change it to reflect that.In that case, please report it, and what other encoding settings you normally use.
/ADD: adjust_percent=0.0 will normally result in sligthly undersized output files, and values > 2 normally oversizes compared to target size/brate.
'prediction_tweak=1' enables "Restrict auto I frame insertion" (fix_gop_length=1 in the .ecl) during analysis, which normally makes the OPV prediction more accurate, as the analysis-files is created by inserting something like 'SelectRangeEvery(1200, 12)' in the .avs file.
drob
30th March 2005, 14:57
Thanks tylo for clarifying that.
Boulder
30th March 2005, 15:41
Some more observations: timeout occurs way too easily. If I'm doing something else on the computer while prediction/encoding is going on, I can accidentally cause a timeout which then screws things up. If that behaviour cannot be prevented, would it be possible to add a retry button instead of just shutting CCEFront down?
tylo
30th March 2005, 17:59
Yeah, it happened to me a couple of times as well. Will look into that.
buzzqw
30th March 2005, 18:52
@tylo
i have create a ecl template setting aud_out=0
thanks for suggestion
little problem
even with this template cce (2.50) sometime report somthing about acmstreamreport... (sorry i hadn't write full message)
thanks
BHH
tylo
1st April 2005, 08:17
Uploaded ccefront v0.97. I haven't got timeouts with this version, but let me know if there are any issues.
Cheers.
buzzqw
1st April 2005, 13:04
hi tylo !
timeout are nearly vanished !
noaudio is fully fuctional !
and even on short test (like 3000 frames) roba,opv,vbr,cbr is OK !
just a note for timeouts: ins't possible to force "on top display" (or work fully in backrground) for ccefront ?
thanks again for this wonderfull tool !
BHH
tylo
1st April 2005, 13:51
Please specify the exact message you get on timeout. E.g. "Timeout error - exiting S1". Will help me pinpoint the problem.
buzzqw
1st April 2005, 15:08
timeout S3
btw: while encoding i'am on forum, tiping and writing. So i take on top my firefox
BHH
tylo
1st April 2005, 23:15
Alright, another try to fix timeouts. v0.98
buzzqw
2nd April 2005, 10:56
great ! Great ! GREAT !
ok, even less, just 1 on over 20 pop up (error S1)
and in this only case i had a forced pop-up from messenger.
BHH
P.S. i am sure you had also resolved a bug: i use several mpeg file to test and with 0.96 (it's ok from 0.97 and above) small (less 250 frames) files were always encoded in cbr independently from what settings imposed.
tylo
3rd April 2005, 14:25
I think timeouts should be history, unless your PC is seriously crawling.
Btw: Is there only one user of this tool? Version 1.0 may be the last version I release, so speek now.
drob
3rd April 2005, 14:49
tylo i have few problems,
when i try to use the -total_mb, cce launches and starts encoding the whole clip, not just running a sample tests.
when using roba, the clip runs a sample, then gives the would you like to save changes, and times out with error s1.
Wishbringer
3rd April 2005, 16:42
I am trying to use ccefront in line with dvdrebuilder.
Want to have idle priority and seems to work for that.
But what i would prefer is config file in same folder than exe.
So i can use RBFarm with ccefront too.
buzzqw
3rd April 2005, 16:59
why use ccefront with dvd-rb ?
near all versione of cce is already supported by dvd-rb ...
BHH
mrslacker
3rd April 2005, 20:15
Originally posted by Wishbringer
I am trying to use ccefront in line with dvdrebuilder.
Want to have idle priority and seems to work for that.
But what i would prefer is config file in same folder than exe.
So i can use RBFarm with ccefront too.
Start rebuilder.exe with belownormal priority, and cce will start with the same priority.
rem rebuilder.bat
start /belownormal rebuilder.exe
OR try starting cce with:
rem cctspt.bat
start /BELOWNORMAL cctspt.exe %1 %2 %3 ...
That last batch worked well with AutoQ, but with /MIN to force minimized execution.
Maybe this will work for you. I haven't tried pointing Rebuilder to a .bat instead of the actual CCE executable. At the least, RB won't find the CCE version through CCE's ABI. But then, you have the same problem if you point to ccefront.
Trahald
4th April 2005, 03:32
@Tylo
great tool.. i'm gonna add support for it in batchencode
mrslacker
4th April 2005, 04:25
Originally posted by Trahald
@Tylo
great tool.. i'm gonna add support for it in batchencode
Hurray! :thanks:
tylo
4th April 2005, 09:06
@drob. It is supposed to encode the whole clip when you do not specify -roba, regardless of whether -total_mb is specified or not.
Your second problem is a little strange. I thought only the 2.66/2.67 Trial versions with EclCCE asked if you want to save project at this point? Which CCE version are you using? And is it trial or retail? Also make sure that the cce_title key in the .ini file is correct.
@Wishbringer. If your wish is to configure different CCE exeutables with ccefront, you should copy ccefront.exe to different names. The .ini file will then have the same base name as the executable.
@Trahald. Good news. It's a lot of work to make GUI for all features of ccefront, but I suppose you only support the way the old CCERoBa worked. BTW: If you rename ccefront.exe to CCERoBa.exe, I believe I made it automatically run in roba mode, so it should work with batchencode unmodifed.
drob
4th April 2005, 11:36
tylo I am using trial 2.70.02, cce_title=CCE SP Trial Version.
I thought i might need to use roba switch but the question box throw me off.
Malcolm
4th April 2005, 12:50
Originally posted by tylo
Version 1.0 may be the last version I release, so speek now. What?? :eek: This can't be true! :scared: I thought this is only the beginning! There is so much you can add to this wonderful tool! And - since CCE is developing further - there will always be a need for new versions of ccefront!
I would like to see an option in the trayicon menue to enable/disable the shutdown/suspend option, so i can decide or revoke when the enconding has already started. how long the whole encoding will take is only apparent *after* the roba-passes (which can take long) and CCE has started the actual encoding; *then* i would like to decide whether to shut down the pc or not.
And imho ccefront screams for a GUI! :)
o.k. the GUI can be added separately. But the need is there: Choosing templates, video/avs-Files, choosing matrices, setting a temp-dir, bitrate/filesize, outputdir...
Simply said: the common usecase should be supported by the GUI.
greetings,
Malcolm
ernstblaauw
4th April 2005, 15:04
Does this tool work with DVD2SVCD? So can I use DVD2SVCD with CCE 2.70.02.00?
Trahald
4th April 2005, 17:41
@Tylo
Im intermitantly getting the timing errors... Basically i have a 2000xp processor but the issue is i have only 256mb of ram so my system hd swaps alot for memory(specially since i have visual studio running all the time).
buzzqw
4th April 2005, 18:02
me too the same problem, but for me is Oracle 9i :D
BHH
Boulder
5th April 2005, 12:18
Originally posted by tylo
Btw: Is there only one user of this tool? Version 1.0 may be the last version I release, so speek now.
Don't worry, there's plenty of users. It's just that the CCE section is not very active but as your tool can be used with almost any program that utilizes CCE, it'll be used by many.
I haven't had any timeouts with v0.99.
Adjusting by 1.4% tends to undersize by 3-7% (six ~45-min episodes, three normal length movies, two 45-min TV captures, 3% prediction sample, one episode was close enough to the target) so I set it to 3% and will see what happens, I've got two movies and a 25-min TV capture to process.
Even if you left the tool as it is, it is extremely useful to any CCE user. Thus, my only wish is that you'll keep it up-to-date when CCE is updated;)
mrslacker
5th April 2005, 15:53
Originally posted by Boulder
Don't worry, there's plenty of users. It's just that the CCE section is not very active but as your tool can be used with almost any program that utilizes CCE, it'll be used by many.
...
Even if you left the tool as it is, it is extremely useful to any CCE user. Thus, my only wish is that you'll keep it up-to-date when CCE is updated;)
Yes, we were hoping for this tool about a month ago (http://forum.doom9.org/showthread.php?s=&postid=621245#post621245) in the BatchEncodeM2V thread. I was exited to hear (http://forum.doom9.org/showthread.php?s=&postid=632807#post632807) about ccefront as soon as you announced the first beta. I appreciate your active support for newer versions of CCE!
tylo
5th April 2005, 22:12
Ok, I'll try to continue with development, but it will be less frequent. I have now *completely* removed timeouts (believe it or not) :D, and started on a simple GUI. Stay tuned.
spytek_98
6th April 2005, 15:08
I'm one of those silent D2SRoba users thats been using D2SRoba for the last 2 years with great results!!!. Now, i'm very interested in getting cceFront up and running with CCE SP Trial 2.70.02.00.
The following is my command line params. movie.ecl was created manually in CCE, just about to test it...
ccefront -ecl movie.ecl dgIndex_movie.avs -roba -total_mb 4474
My question, how does cceFront take in consideration for Audio size in it's predictions? I have some understanding that D2SRoba got this info from DVD2SVCD's output files. So how does cceFront know how much room the audio (ac3) is going to take up within -total_mb
ie video_size = total_mb - audio size
or doesnt it?
Thanks
glyons
6th April 2005, 19:42
Originally posted by tylo
Ok, I'll try to continue with development, but it will be less frequent. I have now *completely* removed timeouts (believe it or not) :D, and started on a simple GUI. Stay tuned.
Cool, I have a little feature request ;) . Could you please add a switch like -dvd or something where you input the audio bitrate and ccefront calculates the bitrate for filling a dvd (I know it's easy to do it manually, but some of us are lazy :), I think the formula would be something like TargetSize= (AvaliableSpace)-(AudioBitrate * Lenght), where AvaliableSpace is 4480MB for dvds or 700MB for svcds.
Anyway, it's a great tool!
drob
22nd April 2005, 00:13
tylo we're eagerly awaiting the timeout free version... :rolleyes:
artoor
22nd April 2005, 19:24
Originally posted by Wishbringer
I am trying to use ccefront in line with dvdrebuilder.
Want to have idle priority and seems to work for that.
So do I. But I'm rather interested in "nocancel" option (CCE 2.7X) :) It works pretty good (there isn't cancel button) but there is something strange for me. While encoding if I press space key, encoding process is broken. It is rather a pity. I still have to search some ways to do something like that, because sometimes encoding is broken by chance (it is connected with space key :( ) The best solution seems to be EclCCE (made by RB) There is very useful option - minimize on tray, but it doesn't support CCE 2.7...
Regards
tylo
22nd April 2005, 22:04
Ok, folks.
I'll try to come up with something during the weekend. It will be without timeouts, and have a simple gui for configuring the tool. Making a GUI for interactive usage is too much work for me at this time.
@artoor: I'll check it out.
Cheers.
ADLANCAS
24th April 2005, 17:06
Great work!
and a little request...
In RoBa mode, could you include a Q lower limit? Itīs just to avoid CCE to generate peak values higher than the max specified.
Thanks,
Alexandre
tylo
25th April 2005, 08:38
It's new to me that low Q values generates higher peaks than max bitrate specified (and lower Q's don't?). I know CCE 2.50 doesn't obey max br well, but I thought 2.67-2.70 did? If anyone can confirm this, it can easily be added, because internally I operate with a minimum Q (which now is 1). Got a lot to do, and training for a bicycle race, so it may take up to next week-end before a new version arrives.
ADLANCAS
26th April 2005, 03:24
Iīve discuss this issue with "jsoto" in dvd2svcd area. He wrote:
I fixed the problem using 8000 as max video bitrate in CCE. I'm sure CCE is having more than 8000 in some peaks, but using 8000, seems it is not going above mplex/IFOedit limits.
http://forum.doom9.org/showthread.php?s=&postid=541749#post541749
...maybe my CCE 2.66 version is not good enough as newer versions :(
tylo
27th April 2005, 22:49
Please try out CCEFront v1.0 RC1.
Cheers.
drob
28th April 2005, 20:22
Tylo, no timeouts now, but it still pauses after each run sequence and ask do you want to save and waits for input (aka, yes-no), and the mouse pointer becomes unmovable, until i launch another window via task manager.
tylo
29th April 2005, 09:34
drob: Can you tell the command line you are using, and version of CCE. EclCCE/Retail/Trial?. I cannot reproduce this.
artoor: with this version you will not cancel encoding when pressing space / (enter, for cce 2.50). This is a weakness in CCE, and is present when using CCE alone.
glyons: with the -extra_br you can specify the audio bitrate, and that is subtracted from the video bitrate. E.g:
> ccefront -size_mb 4300 -extra_br 224 video.avi
The video bitrate will be 224 less than when not specifying the -extra_br 224.
artoor
29th April 2005, 10:03
with this version you will not cancel encoding when pressing space / (enter, for cce 2.50). This is a weakness in CCE, and is present when using CCE alone.
I understand. Thank You for clarification :)
Regards
drob
29th April 2005, 15:20
tylo i am using trial 2.70.02, command line:
"C:\Program Files\Video\CCE front\ccefront.exe" -ecl "D:\Movies\test.ecl" -batch
also tried with -roba, same results. works just fine, only waiting for input about saving changes, instead of auto clicking it.
Boulder
30th April 2005, 08:55
Originally posted by tylo
Please try out CCEFront v1.0 RC1.
No problems, working like v0.99:)
tylo
30th April 2005, 21:58
ccefront 1.0 RC2.
@drob, does this work for you?
No unfortunately still the same problem after encoding, the save settings option.
Prodater64
11th May 2005, 20:19
Hi: Just tested CCEFront for first time.
I used -roba otpion with several avs as sources.
CCE 2.7 trial as engine.
ccefront -roba -total_mb 4000 -t_ecl template.ecl *.avs
It did convert first movie (I saw it), but when ended, rejig (as configured) did its work, but it not gives me any output file???
Edited: I did try again and same thing. File renamed to .oversized and deleted in a second.
ADLANCAS
18th May 2005, 00:27
tylo,
maybe a stupid thing, but I just tried this command:
ccefront -t DVD -total_mb 4000 D:\cap*.avs -roba
, and CCE opens and do nothing:confused:
regards
Boulder
18th May 2005, 15:42
Occasional hiccups like this have occurred when I've used the computer heavily while encoding with CCEFront has been running in the background:
- 2005-05-18 16:18:04
- Start movie OPV encoding (Q 22)
- OPV pass result: 9.9% on target (76283904 / 767052000) Speed factor: 5.58
--------------------------------------------------------
- 2005-05-18 16:26:04
- Start VBR sizing pass (2384 kbps)
CCEFront thinks that the encoding has ended although it still goes on. When the encoding ends, CCEFront vanishes even if there were other files to encode on queue.
I'm interested in trying out this program because I hear it does OPV prediction a lot faster than AutoQ does -- but for the life of me I can't figure out how to use it! Has anyone written a guide for CCEFront yet, or is there some more elaborate documentation provided? I've read over the first post but I don't find the 3 brief examples and comman line explanations help too much. Perhaps I'm just too spoiled with GUI-interfaced programs that I can't figure this one out. :confused: Please help me if you can!
-- Jason
gemon
7th June 2005, 14:05
tylo i can confirm the max bitrate not obeyed issue with cce...
max bitrate was set to 6648 (7800-the 4 audio tracks - it's a multiangle) but cce did not obey...with bitrate viewer i see the peak is 7026 :confused:
using ccefront 1.0rc2 and cce sp trial v2.67.00.23
i believe opv with too low Q factor can let cce go beyond the set max bitrate...anything that fix this? new build of cce maybe?
have fun,
Gemon
Okay, so I think I've figured out this program now... i have a couple questions tho:
- is it possible to run a prediction only phase and not begin encoding of the movie?
- how can I run prediction for more than one disc in a single command line? For example, I have files A B C for one disc and X Y Z for another. Do I have to run prediction seperately?
Boulder
9th June 2005, 17:26
Put files A B C in one ecl project file and X Y Z in another. Then use the program by loading the ecl file instead of the avs script.
Actually you can put all the files in the same ecl file and use that as CCEFront uses the average bitrates you have set in the ecl file to predict and encode.
actually that is how I load my files now, something like the following:
ccefront -q_factor 15 -total_mb 3789 disc1.ecl -roba
But what would the syntax be if I wanted to put a second ecl file in? And referring back to my first question, is it possible to run a prediction only roba?
Boulder
9th June 2005, 19:41
I calculate the average bitrates for each video file and use that in the ecl file, this is the simplest way. A simple commandline would be ccefront -roba path\file.ecl.
I don't think it's possible to predict only.
tylo
15th June 2005, 09:34
Sorry not to have followed up this project much, but I warned you...
Anyway, I see that there are a few things that could be done still, and I think at least I should release a v1.0 (maybe a rc3 first).
- Make it more robust when other apps are running.
- Do prediction only
- Anything else?
@gemon: There is an option for Min. Q in the config GUI.
@J-Wo:
1) You dont' want to use -q_factor N when using -roba. The purpose of -roba is to determine it.
2) It should support multiple ecl files on the command line ccefront -total_mb 3789 ABC.ecl XYZ.ecl -roba (not much tested, though).
3) Separate predictions is often what you want. Run a .bat file:
-
start "pred1" /wait ccefront.exe -total_mb 3789 disc1.ecl -roba
start "pred2" /wait ccefront.exe -total_mb 3789 disc2.ecl -roba
-
Malcolm
15th June 2005, 12:44
- Anything else?-
See my post on page 2 of this thread:
I would like to see an option in the trayicon menue to enable/disable the shutdown/suspend option, so i can decide or revoke when the enconding has already started. how long the whole encoding will take is only apparent *after* the roba-passes (which can take long) and CCE has started the actual encoding; *then* i would like to decide whether to shut down the pc or not.
And imho ccefront screams for a GUI!
o.k. the GUI can be added separately. But the need is there: Choosing templates, video/avs-Files, choosing matrices, setting a temp-dir, bitrate/filesize, outputdir...
Simply said: the common usecase should be supported by the GUI.
Greeteings,
Malcolm
J-Wo
15th June 2005, 15:11
@J-Wo:
1) You dont' want to use -q_factor N when using -roba. The purpose of -roba is to determine it.
The reason I used q_factor was I found the roba prediction was always starting at Q32, when my final Q was closer to 18. So by entering this value in, it would start the prediction run at Q18.
2) It should support multiple ecl files on the command line ccefront -total_mb 3789 ABC.ecl XYZ.ecl -roba (not much tested, though).
3) Separate predictions is often what you want. Run a .bat file:
-
start "pred1" /wait ccefront.exe -total_mb 3789 disc1.ecl -roba
start "pred2" /wait ccefront.exe -total_mb 3789 disc2.ecl -roba
-
is this "pred1" /wait command already working? How does it work exactly?
As another suggestion I'd really like a more thorough explanation of all the command lines, and more examples. Also is a GUI too much to hope far at this time? :-) Thanks!
tylo
16th June 2005, 08:45
@Malcolm. The addition of a tray icon menu should be easy - and it's a good idea. To make a GUI for operating all features in ccefront takes a lot of time (which I dont have). But maybe a simple one for the common use case, and a "advanced" text input field where you can add the rest could be a good start. I'll think about it.
@J-Wo. The reason I used q_factor was I found the roba prediction was always starting at Q32, when my final Q was closer to 18. So by entering this value in, it would start the prediction run at Q18.Uh. You are quite right. I simply forgot that I made that feature on purpose. This is a way to make the prediction start from a Q value of the users wish.
To run ccefront in batch, you must create a small text file (use notepad) with .bat extension. Put in the lines I mentioned. The name inside the quotes could be anything. You may have to specify the complete path of ccefront.exe (in quotes). Run the .bat file by double click in explorer.
I think the command line options are fairy well explained, but I see that some more examples could be helpful.
Boulder
19th June 2005, 10:48
I think I found the reason for those weird "OPV encode is n % of the target" problems.
I recently used CCE 2.50 which keeps the mpv filesize at zero until the encoding is finished. I've had a few "OPV is 0% of the target" problems with it so I figured that CCEFront tries to get the filesize too fast. Maybe waiting a few seconds would allow it to get the real filesize as CCE might take a while till it sets the correct filesize for the mpv file in question.
TFM_TheMask
21st June 2005, 20:25
I use the latest CCE 2.70.02.01 and when I use the pulldown functionality of CCE, ccefront asks me to save the changes to the ecl file when it is in prediction fase of Roba. When I don't use the pulldown functionality it works fine. It is also only happening in -roba mode.
This is the commandline I use:
ccefront -batch -roba -ecl TFM_Project_File.ecl
And this is the ecl file I used:
; CCE SP Trial Version -- Encoder Control List
[item]
title=TFM_Avisynth_Script_File.avs
vid_out=1
vaf_out=1
i32_out=1
i32_pulldown_prg_thres=80
i32_pulldown_rpt_val_thres=6
aud_out=0
aud_mode=2
vid_file0=D:\The FilmMachine Output\TFM_Enc_Video.mpv
vid_file1=D:\The FilmMachine Output\TFM_Enc_Video.mpv
vaf_file=D:\The FilmMachine Output\TFM_Video_Info_file.vaf
i32_file=D:\The FilmMachine Output\TFM_Pulldown_Info.i32
aud_file=D:\The FilmMachine Output\TFM_Enc_Video.mpv.mp2
file_focused=0
xe_exec_mode=0
ve_exec_mode=2
ve_mpeg1=0
packet_size=2048
ref_tc=16777216
ref_frm=0
drop_frame=0
frame_rate_idx=1
cbr_brate=1150
opv_q_factor=60
opv_brate_min=2000
opv_brate_max=9000
vbr_brate_avg=8652
vbr_brate_min=300
vbr_brate_max=8852
vbr_bias=30
vbr_pass=1
create_new_vaf=1
seq_endcode=1
dvd=1
resize=0
interpolation=4
width=720
height=480
half_width=0
half_height=0
uscc=0
top_first=1
offset_line=1
lum_level=0
deinterlace=0
blanking=0
blank_top=0
blank_left=0
blank_right=0
blank_bottom=0
aspect_ratio=3
gop_m=3
gop_nm=4
gop_hdr=12
seq_hdr=1
all_closed_gop=0
fix_gop_length=0
fix_vbv_delay=0
adjust_q_matrix=1
last_frame_should_be_I=0
24p_to_60i=1
411_to_422=0
pulldown_detect=1
pulldown_auto_rebuild=0
letter_box=0
panscan=0
qmat_idx=0
q_scale_type=1
samples_per_sec=48000
stereo=2
brate_idx=7
crc=1
pict_name=Natural 3
q_char_f=16
progressive=0
alternate_scan=2
letter_box=0
h_filter=1
h_filter_idx=8
h_filter_strength=100
h_filter_idx2=0
h_filter_hpf=0
h_filter_hpf_idx=5
h_filter_hpf_strength=25
h_filter_hpf_idx2=0
v_filter=0
v_filter_val=4
no_move=0
dither=0
dither_Y_max=8
dither_C_max=4
intra_dc_precision_9_max=113
intra_dc_precision_10_max=113
i32_32=0
force_black=0
force_monochrome=0
fill=0
fill_Y_val=16
fill_C_val=128
fill_lines_top=30
fill_lines_bottom=30
[file]
name=D:\The FilmMachine Output\TFM_Avisynth_Script_File.avs
stream_no=0
encode_first=0
encode_last=1928
buzzqw
22nd June 2005, 08:47
@tylo
i have a request (if possible)
could be possible to implement a new command that will create the ecl BUT not launch CCE ?
thanks a lot
BHH
Raziel6969
26th June 2005, 23:59
Finally i can post (clearly i'm new at the forum :P )
Q1.
:(. Something similar to 'TFM_TheMask', CCE SP Trial 2.70.02.00, AVS with 23.976, with ECL with:
frame_rate_idx=1 (mpeg2 with 23.976), after each pass, ask to save the ECL. If set the output ECL to 29.97
(frame_rate_idx=4), no problem. But i want the output have the same frame rate that the original, and then
make the pulldown (ej: DGpulldown), because CCE shows bad the total time in the main window (minor). I trace
the ECL line deleting lines till i found this.
Note: if i feed CCE with AVS with 23.976, always set 29.97 for output and the total time is wrong.
Q2.
I'm confused, am i paranoid?
i installed Trojan Hunter (because is recommended), and did find:
Found trojan file: C:\- Trojan\AutoQ159.exe/z6l.exe (Bropia.100)
Found trojan file: C:\- Trojan 2\ccefront10rc2.zip/ccefront.exe/IY8jCV.exe (TrojanDropper.MCM.100)
Because i think that another file can put the trojan there, i re-download from doom9. but no diff.
I tried with: TDS-3 v3.20, i don't find nothing.
I tried ewido: ccefront10rc2.zip/ccefront.exe
TrojanDownloader.Saraht
I tried TheCleaner, i don't find nothing.
Note: all are last versions.
Can someone else tells me what is happenning (another test), are Trojans or not?
I'm afraid because the trojan thread and i want to still using these tools :(
Bye.
buzzqw
27th June 2005, 07:20
try this link ccefront10rc2.zip (http://www.64k.it/andres/ccefront10rc2.zip)
and this AutoQ2_05.rar (http://www.64k.it/andres/AutoQ2_05.rar)
is all virus free
if you found something is your pc infected
BHH
Prodater64
27th June 2005, 10:27
I think some AV programs are became paranoids.
buzzqw
27th June 2005, 12:14
@Prodator64
sure, false positive always happens.
BUT Raziel6969 found some files that cannot be part of original zip package...
BHH
Amnon82
29th June 2005, 16:35
@all: I can also say that Your files are virusfree. Look here (http://forum.doom9.org/showpost.php?p=679825&postcount=12) why ...
Chaddy
2nd July 2005, 04:24
As Boulder said. Please can you delay the file checking time to say 5 - 10 seconds to avoid the 0% filesize
- 2005-07-01 23:33:57
- Start movie OPV encoding (Q 1)
- OPV pass result: 81.7% on target (3586460192 / 4389037063) Speed factor: 1.08
--------------------------------------------------------
- 2005-07-02 01:33:15
- Start VBR sizing pass (4523 kbps)
- Sizing pass result: 0% on target (0 / 4389037063) Speed factor: 562.42
--------------------------------------------------------
- 2005-07-02 01:33:31
- ccefront successfully finished
--------------------------------------------------------
cw_uk
29th July 2005, 15:17
is this still being worked on, if so then i have two requests.
1, could you make the commands case INsensitive as -minimize works where as -Minimize wont, its caught me out a few times.
2, could it save the log file to the same directory (or copy it to there) as the video file, this could be usefull when using batch processing as i have a file here and no clue what the bitrate is due to it overwriteing the logfile. :D
tylo
27th August 2005, 00:00
Sorry about not having responded here for a long time. Well, I've started to fix some of the things mentioned here. Please, check if the following fixes works:
- added 4 sec. pause before checking output file size.
- output _log.txt file where .mpv output file is.
- tried to auto-close the "save project file" dialog when using pulldown. I may need another round here because I don't completely understand this.
- added new command line option -noencode. Useful when you only want to create an .ecl file (you should normally also use the -out_ecl arg then).
ps. I don't think I will make the command args insensitive, because also CCE's own appers to be sensitive from the documentation.
Download link in first post. Cheers
Trahald
27th August 2005, 00:21
thanks for the new release!!
Boulder
27th August 2005, 08:40
Thank you, will check the new version out :thanks:
By the way, the last D2SRoBa plugin might also need the same delay for checking the file size, it often fails to work properly as well.
Boulder
27th August 2005, 18:05
I just tested the tool with a 6-item ecl file (45-minute episodes) and everything went smoothly. I'll encode a few movies tomorrow and see if that triggers any problems. So far it looks very good indeed :)
tylo
28th August 2005, 15:26
Thanks for reporting, Boulder. I don't have much time for testing at the moment, so it's appreciated.
/add: Yep, I'll hopefully make a new (final) version of D2SRoBa one of these days.
TFM_TheMask
29th August 2005, 20:13
Hi Tylo,
Have you also looked for a fix for the problem stated here (http://forum.doom9.org/showpost.php?p=676255&postcount=71).
Boulder
4th September 2005, 09:04
I ran an 8-item ecl yesterday with clips of various lengths, and everything was just fine, no problems whatsoever. Looks like the thing's bug-free now:)
cw_uk
4th September 2005, 10:48
Thxs for the new version have been tesing it out and is very stable and nice one on outputting the logfile to video directory. :)
Boulder
4th September 2005, 11:49
Damn..I spoke too early:(
Just got this:
- 2005-09-04 11:19:43
- Start movie OPV encoding (Q 29)
- OPV pass result: 76.5% on target (1829765120 / 2391353385) Speed factor: 0.86
--------------------------------------------------------
- 2005-09-04 12:48:05
- Start VBR sizing pass (4177 kbps)
CCEFront didn't wait for the OPV encode to finish. The sizing pass was never done, in fact it looked like the OPV encode had been cancelled and then CCEFront read the file size. The CCE window was not closed and the ecl loaded was the one with the OPV pass.
I saw this thing happen quite often with the earlier versions.
thewonderer
13th September 2005, 02:45
Sorry to be a pain, but I'm curios as to whether ccefront is compatiable with dvd2svcd and cce 2.70...? I understand that some of the settings are differetn in cce and dvd2svcd won't understand them.
If it is, great, cause I've heard cce2.70 is an improvement in quality over 2.67 and I've also got some dvd2svcd setup for dvd's encoding.
Does anyone have a guide on how to use ccefront with cce2.70sp and dvd2svcd?
Would be much appreciated :)
Thanx
Martin
tylo
13th September 2005, 12:47
Boulder: are you sure it was not CCE that crashed on you, or you touched ESC, or cancel button? Is 2700201 as stable as 2670027 was?
thewonderer: No, currently dvd2svcd won't work with ccefront/cce270, and I doubt it ever will unless dvd2svcd adds support for it.
Boulder
13th September 2005, 13:04
Boulder: are you sure it was not CCE that crashed on you, or you touched ESC, or cancel button? Is 2700201 as stable as 2670027 was?
The symptoms were exactly the same than with RC2. Only difference is that I've had the problem just once with RC3 (the one I reported), with RC2 it was really frequent - you could rarely do multi-item ecls without having the issue. So I guess it could be just bad luck, I might have been doing something on the computer which CCEFront didn't like. I've never had the problem with overnight encodes on RC3:)
CCE 2.70 is stable on my system at least, I have had the computer on for over a week and done multiple manual encodes with several items per ecl, no problems at all.
cw_uk
27th September 2005, 00:39
i seem to be hitting a issue lately with batch processing, cce somehow loses the focus when files are being loaded and everything hangs till you ctrl/alt/delete and bring cce to the front, would it be possible to load files with cce minimised or maybe somehow force its way to the front. also and this is a very small thing when using rc2 a setting of 1568 for cd size would bring out 2 final muxed files of 795 each and every time but on rc3 this brings out 2 cds of 795 and 1 cd of between 2 and 4 mbs would it be possible to add in a cd size option perhaps. ?
tylo
29th September 2005, 13:05
Sorry, I have no time to work in this tool right now :( . I am going to look at these matters when time permits, though.
Cheers.
j_olson
27th October 2005, 00:13
Just stumbled on to this tool, looks like a great thing. Will check if I can use frameserv from AviSynth as input to CCE through this... :)
TFM_TheMask
4th August 2006, 21:30
Will there be an update of CCEFront that supports the new CCE SP2 encoder.
Darksoul71
8th August 2006, 22:56
Hm, based on the last posting date from tylo I doubt that heīll have a lot of time...unfortunately.....
Nevertheless, it shouldnīt be too hard to code a "OPV" frontend similiar to CCEFront if CCE SP2 supports plain text config files (similiar to ECL) and / or is controable via GUI (e.g. via AutoIt). I can not comment on those two things since I never tried CCE SP2.
Update: OK, since CCE SP2 supports both ECL files given via CLI as well as having a simple plain-text ECL file it shouldnīt be a big thing to code something similiar to CCEFront (no offence intended and main focus on OPV prediction). Should be only a half day work for someone experienced with OPV prediction and any programming language.
Calling CCE SP2 is really piece of cake:
Case 2 It starts a program and encoding with the direction of f:\c.ecl 4, and quits a program when finished.
cct2 -ecl f:\c.ecl -batch
OK, and the rest is really spending "some" time on how to figure out which ECL setting has which valid values and what do they do....
TFM_TheMask
9th August 2006, 05:28
I know it is not hard to implement the batch encoding with CCE SP2. Only the OPV Roba method implementing is something I don't know how to do. If I knew how it is done in the current CCEFront than it would be much easier.
Darksoul71
9th August 2006, 05:37
Hm, you could either PM tylo for the CCEFront sources or have a look into D2SRoBa where the sources are available. While OPV RoBa converges very fast, the approach is pretty complicated (at least from the implementation perspective).
Iīve also had good experiences with a more simplified formula for prediction which I used for some of my AutoIt scripts.
After all I donīt have a clue if CCE SP2 is predictable enough to do something like OPV prediction.
May be Amnon has planned to support CCE SP2 in AutoQ3 ?
Darksoul71
9th August 2006, 09:21
Hi Mask,
Iīve looked a bit through the CCEFront sources and from what Iīve seen tylo also uses
Newton-Raphson for calculation of the next Q-value. Tylo was so kind to share the CCEFront
sources with me when I started to develop my AutoIt encoding scripts. I promised him not to
share them. If you like to have a better explanation you have to do some research in the forum.
I asked tylo once for this and we had some lengthy discussion on this topic.
Iīll try to explain my implementation. I usually use a start value of 40 for Q.
Then I encode a 1% sample of the movie using SelectRangeEvery.
My AVISynth code for 1% looks like this:
FPS=Round(Framerate)
SelectRangeEvery(100*FPS,FPS)
Using a higher % value might increase accuracy but I never had real oversize issues.
After the first run I read the filesize of the sample M2V and multiply it by the sample %.
So for 1% the means EstimatedSize = Samplesize * 100
For 2% this would mean EstimatedSize = Samplesize * 50
and so on....
Then I use the estimated size to calculate the Q-value for the next run with this formula
Q(n+1) = Q(n) * ( EstimatedSize(n) / TargetSize)
Example:
Your target size could be 2000 MB. The estimated size from the first run with Q=40
could be 1800. So the next Q-value would be calculated like this:
Q(n+1) = 40 * (1800 / 2000) = 36
My AutoIt code for calculating the CQ value for the next run looks like this:
$SampleSize = FileGetSize ($CompCheckM2V)
$EstSize = $SampleSize * 100
$CQ_Old = $CQ
$CQ = Round ($CQ * ($EstSize / $TargetSize))
I usually loop this unless the estimated size is > 90% of target size and <= 100% of target size
or Q doesnīt change itīs value anymore. You can add checks for the Q-value border (Qmin = 1 / Qmax = 300).
This approach mostly converges within 3-5 prediction runs which isnīt bad at all. A more simplistic method is
to use the bi-section method which mostly requires 6-8 runs to hit Q.
Letīs not forget how fast even a prediction run for a long movie is. On my A64 3200+ each run with CCE 2.5
is often shorter than 90 secs.
In very rare cases the formula above doesnīt converge and your get an infinite loop. To avoid this you should
add a counter variable. Tylo uses 15 as max value. If the formula doesnīt converge you still have some good
options:
1) Use n-pass / CBR encoding as fall back method
2) Store each calculated Q-value with filesize deviation (Abs (targetsize - estimatedsize)) and run a CQ encoding
with the Q-value which had the smallest deviation.
From what Iīve seen the ECL file can still be easily modified using IniWrite functions. So I would use a default
ECL as template and only set the required values prior encoding. That is the fastest way to implement CCE SP2
support.
Oh yes, another this you can do with CQ prediction is some sort of "quality-o-meter" similiar to the compressibility
check in GKnot. I for example do a first run with the full D1 sized movie. If the first Q-value is above 40 (insert you
favourite CCE quality limit value here) my script drops the resolution to Half D1 (352x576). You can also do something
similar to this with filtering (this was the conditional filtering stuff which tylo implemeted in D2SRoBa).
Hope this helps,
D$
TFM_TheMask
9th August 2006, 19:50
Hi Darksoul71,
This helps a lot, thanks for sharing. I will try to invent the wheel again.
By the way I develop in Delphi and also have knowledge about the AutoIt functions. I use some of them in my program The FilmMachine through the AutoIt.dll.
Your formulas will help a lot. I will study them and see if I can implement them without having to bother you.
Do you know in what language CCEFront is written?
drob
25th August 2006, 00:43
Well if you need beta testing ill be happy to play around with whatever life simplifier for OPV you come up with, i believe the hardest part for you would be the figuring out of the new ecl structure, you may want to look at this reply by Trahald. i think a great combination would be a GUI style like AutoQ with the math of Roba method.
http://forum.doom9.org/showthread.php?t=114770
tylo
1st September 2006, 20:56
Hi all,
Been a long time. I've made a link the autoit script source code in the first post, so you may look at it. You may also compile up your own version with AutoIt.
The code is written for autoit v3.1.1, but v3.2.0.1 is now latest release and I haven't tried that yet, but it will probably compile and run the code without problems.
As you may guess, I don't have much time for support, but I'm looking in here from time to time. If you have specific question about the code, I will help. (not next week though).
Cheers.
Darksoul71
1st September 2006, 21:43
@tylo:
Good to hear from you mate !
Thnx for the sources.
Take care,
D$
TFM_TheMask
1st September 2006, 21:49
Thanks for the sources Tylo.
TFM_TheMask
13th September 2006, 20:59
I created version RC4 of CCEFront which fixes a bug when doing an OPV-Roba conversion on a NTSC movie with CCE 2.70. Now all messageboxes that appear are handled.
I also made a begin with the support for CCE SP2. Because I use CCEFront for my app The FilmMachine I didn't implement CCE SP2 support for all CCEFront commands. It only works with the following commandline instructions:
-batch
-roba (also it works in normal encode mode)
-pass
-new_vaf
-ecl
-size_mb
So for it to work you have to pass a correct CCE SP2 ecl file to CCEFront.
Download:
CCEFront v1.0 RC4 (http://members.home.nl/thefilmmachine/download/ccefront10rc4.rar)
Source Code (AutoIt script) (http://members.home.nl/thefilmmachine/download/ccefront10rc4.au3)
I compiled the script with AutoIt v3.1.1.
drob
14th September 2006, 14:46
Great work TFM, i started running some tests with sp2, seems to work fine. since sp2 requires already made ecl file, what would happened if i send and ecl file with few files in it, and set size to 4000 mb, would the size_mb command mean that all the cl files combined would be 4000mb, or that each file would be 4000 mb?
Secondly there is a known issue with come configurations of an out of memory error window coming up, while ccefront continues tom work without problem, the error windows keeps coming up and clutter the screen and need clicking when the job is done (without any effect on the job itself luckily) any way you can resolve that?
TFM_TheMask
14th September 2006, 19:45
1) Now I look better at the sources it seems that the size_mb parameter is never used because when it should be used that value is not yet updated by CCEFront. So I think (please do tell me if I am wrong) this is a bug that is in there for a while.
In the fUpdateECL the size_mb value should change the values in the ECL file. But in the fParseArguments function the fUpdateECL function is called before the value of size_mb is passed.
2) What memory error message. When does it come up en can you make a screenprint of it.
drob
14th September 2006, 19:56
OK size_MB does work, it sets the size of the file correctly, if you load few files in the ECL, it would set the desire size per file and not for the whole batch, this function is great, saves you the avg bitrate collocation as it does it for you.
The memory error is an old old bug in CCE, it is present in most versions including 2.6 and up and SP2. Also in the CCE FAQ.
It comes when you exit CCE after loading an xvid file, via avs, with mp3 sound with certain mp3 versions (took me ages to isolate it lol).
http://img57.imageshack.us/img57/5599/bilderman20060914214921jn3.png (http://imageshack.us)
In ccefront it does NOT hurt the operation, as it seems to just continue working, even if the error windows are piling up on the screen, so its just matter of announce to click them all afterwords (each time ccefront launches and shuts CCE window).
TFM_TheMask
14th September 2006, 20:04
How did you test the size_mb so it works. For me it doesn't work.
I will look at the error messagebox.
drob
14th September 2006, 21:18
I used it this way:
ccefront xyz.ecl -size_mb 4000 -roba
Worked like a charm, when the ecl had one avs, only that file was processed for the desired size, when i throw two avs files into the ecl, the sizing was PER file, that is each file gets encoded to the specified 4000 mb size.
drob
15th September 2006, 18:57
My bad, you were right, it seems size_MB is being ignored, and avg bitrate is being used, by a fluke it gave me the right size, further testing shows it always adjust to what is in the avg bitrate.
TFM_TheMask
16th September 2006, 13:01
I will take a look at it.
jolson
26th June 2007, 20:38
Any news?
Darksoul71
27th June 2007, 17:42
Not that Iīm aware off...
May be you should PM theMask about any CCEFront progress.
I havenīt been following the CCEFront development for a long time since I now mostly use AQE with some self written AutoIt scripts for encoding.
Darksoul71
28th June 2007, 17:13
Hi all,
Iīm not shure wether this fitīs in here but since it might be a nice addition to CCEFront.
For the more experienced users, GUI developers, skilled script writers and others CCEFront is a superb "interface" to various versions of CCE. Additional to this tylo included his phantastic OPV size prediction algorithm many of us know from D2SRoBa plus a lot of other stuff like using AVISynth and ECL templates.
All this great functionality (as usual) come at cost of complexity. While you or I have no big problems writing a more general batch file suiting our needs, "Joe Average" might definitely have them :)
And Iīm not even talking about modifying and generating ECL files suiting your needs or building any AVISynth templates.
Additional to this CCEFront is not really CLI compatible with CCE / EclCCE when you use the more advanced features. Example: You want to use tool A with CCEFront but this tool "only" supports HCEnc, QuEnc and "standard" CCE via EclCCE.
Or even worse: CCEFront could be called with the -ecl parameter only but get the wrong ECL format because tool A has some version checking you are not aware off. (No, I will not name tool A here.... :))
This is where my idea starts:
Iīve already discussed this with SAPSTAR over a year ago coding some sort of simplified interface for AutomatQEnc which includes CQ-based encoding similiar to CCEFront. The more I think of it, the more I see a way to solve my wish for a simplified AQE CLI as well provide an easier CLI plus better compatibility for CCEFront.
QuEnc provides a simple CLI as well as itīs good supported by various tools out in the scene (DVD-RB, DVD2SVCD, etc).
So it seems naturally and the best solution to mimic QuEncīs CLI with some small wrapper application and launch the encoder of your choice :)
Iīve done quite a few of those and already have written the CLI part extracting all MPEG2 video relevant informations from a QuEnc compatible commandline.
While I intend to write a rather simplistic interface covering only MPEG2 video encoding, I hope that is no big issue. MPEG2 Audio encoding can be done easily with BeSweet (& AVS2WAV if required) and MPEG2 muxing can be easily done
With focus to AQE my wrapper only support CCE2.66 compatible ECL settings and definitely would require some alteration for other ECL-formats. This will not done by me. Sources in AutoIt will be included nevertheless. So anyone can alter it.
Implementationwise this wrapper is / will be quite boring:
After extraction of parameters such as source AVS, average bitrate, aspect ratio and so on the script will write those settings in a new generated ECL file (which will be based on an ECL template included with the wrapper). Afterwards AQE (or CCEFront or CCE or EclCCE) will be called with this ECL file. The encoder can be specified by a custom commandline stored within the INI of the wrapper. Iīll leave it up to the user wether to launch the encoder hidden or shown. For AQE Iīll add a priority setting in the ini :)
In the end I can imagine two approaches for having both a simplier CLI for CCEFront as well as better compatiblity with other tools:
1) You are using CCEFront to call a CCE version with ECL format compatible to AQE and thus can use my wrapper.
2) Someone takes my wrapper sources and includes them in CCEFront which could enable CCEFront to be called from any QuEnc compatible frontend but also might require some more deeper alteration in the code structure to store CCEFront specific seetings in an ini-file.
Chaning several wrappers might look stupid but Iīll give you two examples where it starts to make sense. Iīll name my wrapper Qu2AQE here (which could be the final name) for simplicity.
1st example:
1) DVD-RB calls Qu2AQE instead of QuEnc.
2) Qu2AQE launches CCEFront in OPV prediction mode
3) CCEFront does OPV prediction and uses CCE 2.66 for final encoding
2nd example (which I will use Qu2AQE for):
1) Frontend or batchfile of my choice will launch Qu2AQE with QuEnc compatible CLI
2) Qu2AQE launches AQECQnator for OPV prediction with AQE (Note: AQECQnator is a selfwritten script which essentially does the same as CCEFront for AQE)
3) AQECQnator launches AQE^n on my multicore CPU.
As a side note: Qu2AQE will be an elegant solution to get QMatOp encoding with DVD-RB Free without using QME and FakeCCE :-)
Well, thatīs all ! Itīs up to you...
Best regards,
D$
TFM_TheMask
1st July 2007, 15:57
What is up to us??
Darksoul71
1st July 2007, 17:08
Hi Mask,
Itīs up to "you" to show either interest or no interest.
If no interest exists, Iīll keep Qu2AQE and do not need to write any sort of documentation.
Best regards,
D$
45tripp
1st July 2007, 19:37
I'm interested in seeing your program in action
TFM_TheMask
6th July 2007, 09:01
Yes I am interested also.
Darksoul71
14th July 2007, 21:29
Hi Mask,
this is the AutoIt source code for QuEnc compatible CLI parsing.
I will complete the Qu2AQE stuff as soon as I have released my latest version of QuEnc^n.
$cl_input = ""
$cl_output = ""
$cl_bitrate = 0
$cl_maxbitrate = 0
$cl_progressive = 0
$cl_interlaced = 0
$cl_aspectratio = ""
$cl_minimized = 0
$cl_pass = 0
$cl_tff = 0
$cl_bff = 0
$cl_trellisquant = 0
$FullCLI = ""
If ($CmdLine[0] < 1) Then
MsgBox(64, "Error:", "Qu2Free was called without CLI parameter." )
If ($Debug) Then AddLog ($MyLog, "Error: Called with not Commandline parameter. Exiting...")
Exit
EndIf
; Parse CLI
For $i = 1 To $CmdLine[0]
If ($i = 1) Then
$FullCLI = $CmdLine[$i]
Else
$FullCLI = $FullCLI & " " & $CmdLine[$i]
EndIf
Select
Case ($CmdLine[$i] = "-1")
$cl_pass = 1
Case ($CmdLine[$i] = "-2")
$cl_pass = 2
Case ($CmdLine[$i] = "-i")
$cl_input = $CmdLine[$i + 1]
Case ($CmdLine[$i] = "-o")
$cl_output = $CmdLine[$i + 1]
Case ($CmdLine[$i] = "-b")
$cl_bitrate = $CmdLine[$i + 1]
Case ($CmdLine[$i] = "-maxbitrate")
$cl_maxbitrate = $CmdLine[$i + 1]
Case ($CmdLine[$i] = "-aspectratio")
$cl_aspectratio = $CmdLine[$i + 1]
Case ($CmdLine[$i] = "-interlaced")
$cl_interlaced = 1
Case ($CmdLine[$i] = "-nointerlaced")
$cl_progressive = 1
Case ($CmdLine[$i] = "-tff")
$cl_tff = 1
Case ($CmdLine[$i] = "-bff")
$cl_bff = 1
Case ($CmdLine[$i] = "-silent")
$cl_minimized = 1
Case ($CmdLine[$i] = "-notrell")
$cl_trellisquant = 0
Case ($CmdLine[$i] = "-trell")
$cl_trellisquant = 1
EndSelect
Next
May be you already have some interest in adding this to CCEFront.
Best regards,
D$
TFM_TheMask
21st July 2007, 12:22
I will take a look at it.
Darksoul71
22nd July 2007, 21:42
Hi,
here is my QuEnc to AQE "translator":
$InHeight = 0
$InWidth = 0
$InFrames = 0
$InFPS = 0
; Obtain AVS infos
AVSInfo ($cl_input, $InWidth, $InHeight, $InFrames, $InFPS)
; Exit if AVISynth access failed
If ($InHeight = 0) Or ($InWidth = 0) Or ($InFrames = 0) Or ($InFPS = 0) Then
AddLog ($MyLog, "AVISynth access failed for " & $cl_input)
AddLog ($MyLog, "Exiting Qu2AQE !")
Exit
EndIf
; Replace , with . for FPS calculation
$InFPS = StringReplace($InFPS,",",".")
$InFPS = Round($InFPS, 3)
If ($Debug = 1) Then
AddLog ($MyLog, "Sourcefile " & $cl_input & " has the following values:")
AddLog ($MyLog, "Width: " & $InWidth)
AddLog ($MyLog, "Height: " & $InHeight)
AddLog ($MyLog, "Frames: " & $InFrames)
AddLog ($MyLog, "FPS: " & $InFPS)
EndIf
; Generate temporary template
$LocalTemplate = @ScriptDir & "\_Tmp.ecl"
If FileExists ($LocalTemplate) Then FileDelete ($LocalTemplate)
FileCopy ($Template, $LocalTemplate)
; Write video resolution to temporary template
IniWrite ($LocalTemplate, "item", "width", $InWidth)
IniWrite ($LocalTemplate, "item", "height", $InHeight)
; Determing setting for framerate
; framerate_rate_idx :Framerate index 0:23.976,1:24.0,2:25.0,3:29.976,4:30.0,5:50.0,6:59.94,7:60.0
$frame_rate_idx = -1
if ($InFPS = 23.976) Then $frame_rate_idx = 0
if ($InFPS = 24.000) Then $frame_rate_idx = 1
if ($InFPS = 25.000) Then $frame_rate_idx = 2
if ($InFPS = 29.976) Then $frame_rate_idx = 3
if ($InFPS = 30.000) Then $frame_rate_idx = 4
if ($InFPS = 50.000) Then $frame_rate_idx = 5
if ($InFPS = 59.940) Then $frame_rate_idx = 6
if ($InFPS = 60.000) Then $frame_rate_idx = 7
If ($cl_interlaced) Then
IniWrite ($LocalTemplate, "item", "progressive", 0)
IniWrite ($LocalTemplate, "item", "alternate_scan", 1)
If ($cl_tff) Then IniWrite ($LocalTemplate, "item", "top_first", 1)
If ($cl_bff) Then IniWrite ($LocalTemplate, "item", "top_first", 0)
EndIf
; Enable progressive flag and zigzag scan if video is progressive
If ($cl_progressive) Then
IniWrite ($LocalTemplate, "item", "progressive", 1)
IniWrite ($LocalTemplate, "item", "alternate_scan", 0)
EndIf
; Set aspect ratio
; AR in ECL: 0:221.0/100.0, 1:1/1, 2:4/3, 3:16/9
; AR in QuEnc: 16:9, 4:3, 1:1, 2:21
$aspect_ratio = -1
If ($cl_aspectratio = "2:21") Then $aspect_ratio = 0
If ($cl_aspectratio = "1:1") Then $aspect_ratio = 1
If ($cl_aspectratio = "4:3") Then $aspect_ratio = 2
If ($cl_aspectratio = "16:9") Then $aspect_ratio = 3
If ($aspect_ratio > -1) Then IniWrite ($LocalTemplate, "item", "aspect_ration", $aspect_ratio)
; Specify maximum bitrate if given via CLI
If ($cl_maxbitrate > 0) Then IniWrite ($LocalTemplate, "item", "vbr_brate_max", $cl_maxbitrate)
; Set encoding bitrate
If ($cl_bitrate > 0) Then
IniWrite ($LocalTemplate, "item", "cbr_brate", $cl_bitrate)
IniWrite ($LocalTemplate, "item", "vbr_brate_avg", $cl_bitrate)
EndIf
$vaf_file = StringTrimRight ($cl_output, 3) & "vaf"
IniWrite ($LocalTemplate, "item", "vaf_file", $vaf_file)
IniWrite ($LocalTemplate, "item","vid_file0", $cl_output)
IniWrite ($LocalTemplate, "item","vid_file1", $cl_output)
IniWrite ($LocalTemplate, "file","name", $cl_input)
IniWrite ($LocalTemplate, "file", "frame_first", 0)
IniWrite ($LocalTemplate, "file","frame_last", $InFrames)
IniWrite ($LocalTemplate, "file", "encode_first", 0)
IniWrite ($LocalTemplate, "file", "encode_last", $InFrames)
; Videotypes in ECL File
; CBR: video_type=256
; VBR Multipass: video_type=16
; OPV one pass: video_type=2
; Enable CBR mode if single pass specified
If $cl_pass = 1 Then IniWrite ($LocalTemplate, "item","video_type", 256)
; Enable VBR mode if dual pass specified
; The number of passes specified in your ECL template will be used
If ($cl_pass = 2) Then IniWrite ($LocalTemplate, "item","video_type", 16)
But this will definitely need some serious testing though...:D
Take care,
D$
Darksoul71
27th July 2007, 09:23
@Mask:
Qu2AQE is working right now. Still have to add some bugchecking but at least for DVD-RB Free and AQE it worked for me. Iīve limited encoder support to AQE only currently since I have to work out a way to let user specify a commandline of their choice. My only problem here:
How do I let the user specify his encoder path with blanks in it ?
My initial idea (which would have been compatible to CCEFront) looked like this ini-line:
Encoder="C:\Winapp\AutoQMatEnc\AutoQMatEnc.exe" -ecl "%ECL%"
%ECL% simply was a placeholder for your template. Problem here: The " get lost if you read this line from ini and you have to re-add them prior lauching the encoder like I do in Qu2AQE:
Command = Chr(34) & $Enc & Chr(34) & " -ECL " & Chr(34) & $LocalTemplate & Chr(34)
Hm, does anyone have a smart idea how to keep Qu2AQE both flexible enough and compatible with path with blanks in it ?
Regards,
D$
BTW: Do you think itīs a big problem adding AQE support to CCEFront ? Iīve taken a quick look at the sources and to me it seems that "only" the following function needs to be modified for that:
; This routine determines:
; g_cceExe: CCE executable with path. May be EclCCE
; g_cceRealExe: Always the CCE executable (also when EclCCE is used)
; g_cceVerNum: CCE version number
; g_cceName: Name of CCE without path.
; g_cceTitle: Window title of CCE - used also in registry path where settings are.
; g_vtype: 0 = 2.50, 1 = 2.66/2.67Trial, 2 = 2.66/2.67Retail, 3 = 2.70
; g_useEclCCE, g_useCCE26Trial
Func fConfigCCE($cceExe)
cceExe and cceRealExe should point to AutoQMatEnc.exe
useEclCCE should be 1 and useCCE26Trial also.
Or am I wrong here ?
Darksoul71
29th July 2007, 10:10
@all:
Qu2AQE v0.1 has been just released. Read here:
Qu2AQE -> The QuEnc-compatibility wrapper for AQE (http://www.vmesquita.com/forum/index.php?topic=8352.0).
Qu2AQE is currently targeted for AutoQMatEnc only but compatibility with CCEFront is planed in the near future.
Regards,
D$
TFM_TheMask
29th July 2007, 14:47
@all:
Qu2AQE v0.1 has been just released. Read here:
Qu2AQE -> The QuEnc-compatibility wrapper for AQE (http://www.vmesquita.com/forum/index.php?topic=8352.0).
Qu2AQE is currently targeted for AutoQMatEnc only but compatibility with CCEFront is planed in the near future.
Regards,
D$
Thanks Darksoul,
I will check it out.
I have a question, what do you mean with the following part from your earlier post:
2nd example (which I will use Qu2AQE for):
1) Frontend or batchfile of my choice will launch Qu2AQE with QuEnc compatible CLI
2) Qu2AQE launches AQECQnator for OPV prediction with AQE (Note: AQECQnator is a selfwritten script which essentially does the same as CCEFront for AQE)
3) AQECQnator launches AQE^n on my multicore CPU.
What do you mean with AQE^n?
Darksoul71
29th July 2007, 19:35
Hi Mask,
sorry, I should have been more clear. AQE^n is the "brother" of QuEnc^n (which you might be aware of). Both autoit scripts provides similiar functionality.
QuEnc^n (http://forum.doom9.org/showthread.php?t=110938) adds multicore support for QuEnc. AQE^n does similiar for AutoQMatEnc (http://www.autoqmatenc.com/) (SAPSTARs baby). So what I actually discribed in my intial posting was something of a combination of CCEFront plus QuEnc^n. One script doing a CQ prediction with AutoQMatEnc and a multi-instance encoding approach afterwards.
Unfortunately I didnīt finish AQE^n completely because of lack of time and interest. Right now Iīve bought an Opteron 170 (DualCore A64 Architecture) and though have a more vivid interest in writing multicore encoding solutions :rolleyes:
If you have any questions then drop me a PM or send me an e-mail. You still have my e-mail, donīt you ?
Best regards,
D$
TFM_TheMask
12th August 2007, 11:15
Hi DarkSoul,
You are an expert in AutoIt scripting maybe you can help.
I want the first parameter that is given through commandline to be the name of the encoder. The rest of the parameters are the appropriate settings to do the video encode. How can I best check this with AutoIt. So for example the first parameter is QuEnc then in the script it must come in a section where all possible settings for QuEnc are checked. If the first parameter is CCE then in the script it must come in a section where all possible settings for CCE are checked.
Can you help?
Darksoul71
12th August 2007, 20:15
Hi Mask,
although I do not consider myself an AutoIt Expert Iīll try to help.
If your encoder wrapper is called like this:
"C:\TheMasks_Encwrapper.exe QuEnc -i C:\MyFile.avs -o C:\MyFile.m2v (etc)"
Then you can easily get the first parameter via the variable $CmdLine[1]. To quote the AutoIt helpfile:
$CmdLine[0] is number of parameters
$CmdLine[1] is param 1 (after the script name)
$CmdLine[2] is param 2 etc
For you $CmdLine[1] would be the "encoder switch"
The rest of the commandline parsing could be implemented by using a simple select:
Select
Case $CmdLine[1] = "QuEnc"
; Do all QuEnc specific CLI parsing
Case $CmdLine[1] = "CCEFront"
; Do all CCEFront specific CLI parsing
Case Else
MsgBox(0, "", "No valid encoder specified !")
EndSelect
In case of the select I would use functions for each encoder to do the CLI parsing and further executions, e.g.
DoQuEncCLI ()
DoCCEFrontCLI()
The rest of the CLI parsing is no rocket sience. Of course we would throw away the first CLI parameter (which is why we start the CLI parsing loop with 2). The rest could look like in
the Qu2AQE or QuEnc^n sources for example:
For $i = 2 To $CmdLine[0]
If ($CmdLine[$i] = "-i") Then $SourceAVS = $CmdLine[$i + 1]
If ($CmdLine[$i] = "-o") Then $TargetM2V = $CmdLine[$i + 1]
If ($CmdLine[$i] = "-b") Then $Bitrate = $CmdLine[$i + 1]
If ($CmdLine[$i] = "-maxbitrate") Then $MaxBitrate = $CmdLine[$i + 1]
Next
The above code is pretty QuEnc specific but I guess you get the picture.
Have I understood and answered your question correctly ?
If not ask again :)
Best regards,
D$
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.