Log in

View Full Version : xAnime (0.1.5) (x264, AAC, MKV, MP4)


Pages : 1 [2] 3 4 5 6

Sirber
23rd April 2006, 14:51
Delphi is great, make standalone binaries (no framework) and is easy to dev. A great mix of VB and C++.

Eretria-chan
23rd April 2006, 15:10
And huge files, plus as I see it, a ripoff of existing langues, and so on. In my book, delphi isn't great. For me, C++ is all I need--easy to use and powerful to boot. Don't need VB. Too simple and annoying. Boring syntax, too :p

Sirber
23rd April 2006, 15:15
Well, you can do easy user interface using MFC, then you have to bundle the DLL or else your app will not work.

anyway, this is getting OT.

Eretria-chan
23rd April 2006, 15:19
Well, you can do easy user interface using MFC, then you have to bundle the DLL or else your app will not work.

anyway, this is getting OT.
But if people have the runtime, they will only have to download smaller files in the future.

As for xAnime, why have you used such high minimum specs? Are you actually trying to require some things like SSE2, in because of that, setting the minumum processor for AMD to A64? And is it required to have Pixel Shader 2 card?
What are your motives?

Sirber
23rd April 2006, 15:36
As for xAnime, why have you used such high minimum specs?I boosted the quality profiles, so Low will run at ~8FPS on an AMD64 3000+ and P4 3Ghz. So, if you have lower then minimum reqs., you will encode for weeks!
Are you actually trying to require some things like SSE2, in because of that, setting the minumum processor for AMD to A64? no, read above :sly:
And is it required to have Pixel Shader 2 card?The Noise Filter I planned to use was using the GPU instead of the CPU. But, I removed the noise filter so I will drop this requirement.
What are your motives?Wold domination!!! :D

leowai
24th April 2006, 08:58
all my sources are on the SVN....
svn://svn.detritus.qc.ca/detritus/xAnime (C# .NET 2.0)

Thanks. For those who don't even have the express version of C# dev kits installed, following batch file will still allow you to compile the source (with .net framework v2.0 installed) just like the MeGUI.

:: Setup C# compilation environment (Extracted from MeGUI project, http://sourceforge.net/projects/megui)
@Set Path=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages;%PATH%
@Set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;%LIB%
@Set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include;%INCLUDE%
@Set NetSamplePath=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0

@echo Setting environment to use Microsoft .NET Framework v2.0 SDK tools.
@echo For a list of SDK tools, see the 'StartTools.htm' file in the bin folder.


@echo off
:: Create the temperary directory
mkdir temp

:: Generate the xAnime Resource
@echo.
@echo Generating resource files
resgen Main.resx .\temp\xAnime.Main.resources
resgen .\Properties\Resources.resx .\temp\xAnime.Properties.Resources.resources



:: Create the output folder
mkdir dist

:: Compile the xAnime binary
@echo.
@echo Compiling xAnime source
%windir%\Microsoft.NET\Framework\v2.0.50727\csc /platform:x86 /res:.\temp\xAnime.Main.resources /res:.\temp\xAnime.Properties.Resources.resources /win32icon:images.ico /target:winexe /out:.\dist\xAnime.exe *.cs /optimize+ /unsafe+

@echo.
@echo. Compilation completed.
@echo. Please check the ready to run "xAnime.exe" program under
@echo. "dist" sub-folder.

pause

Save above code as "Compile.bat" under the main directory of the xAnime sources. Double click to start compilation. Note the screen msg for output binary.

This is the my first trial to create the compilation on C# under dos, so correct me if any where I did is wrong. Thanks. :)

[Edit]
"resgen" command seem to be in path "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin". This means you probably also need to install the huge Microsoft .NET Framework SDK 2.0. :(

Sirber
24th April 2006, 12:33
:goodpost:

Please note that the SVN is read only for anonymous. If you want to make modifications, please post a description and a .patch. Thanks!

Eretria-chan
24th April 2006, 12:38
[Edit]
"resgen" command seem to be in path "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin". This means you probably also need to install the huge Microsoft .NET Framework SDK 2.0. :(
This was bound to happen anyway. You shouldn't attempt to compile something without the proper SDKs.

leowai
24th April 2006, 13:25
This was bound to happen anyway. You shouldn't attempt to compile something without the proper SDKs.
It make sense but according to the "compile.bat" file in MeGUI src do not require "resgen.ex" to compile *.resx into *.resource. It can be compiled with "csc.exe" only even there are *.resx files.

If MeGUI can, why not xAnime? Then everyone who had installed dot net framework v2.0 can get most recent build by it owns, they no need to install the huge dot net framework v2.0 SDK. Most ppl won't install that thing if possible, unless you're a developer or so.

leowai
24th April 2006, 13:27
Please note that the SVN is read only for anonymous. If you want to make modifications, please post a description and a .patch. Thanks!
OK. Where should I upload the patch?
I will PM you.

Cheers.

Eretria-chan
24th April 2006, 13:30
If MeGUI can, why not xAnime? Then everyone who had installed dot net framework v2.0 can get most recent build by it owns, they no need to install the huge dot net framework v2.0 SDK. Most ppl won't install that thing if possible, unless you're a developer or so.
Now that is the problen mostly nowdays. Developers should compile the sources, not the public. And developers should not expect the public to compile them on their own. I don't see why not download the fekkin' SDK and be done with it? Is it a sin to download something from microsoft? Sheesh.

Sirber
24th April 2006, 13:58
OK. Where should I upload the patch?I don't mind an email for that :)
Now that is the problen mostly nowdays. Developers should compile the sources, not the public. And developers should not expect the public to compile them on their own. I don't see why not download the fekkin' SDK and be done with it? Is it a sin to download something from microsoft? Sheesh.As usual, I don't mind making a nice installer, so no need of SDK.

Eretria-chan
24th April 2006, 14:05
As usual, I don't mind making a nice installer, so no need of SDK.
Yep, and we love you for that! :p
(Now, enough of that...)

Sirber
24th April 2006, 14:13
I commited it. It works well :) Thanks!

leowai
24th April 2006, 14:43
You're welcome. :)

Ya. Since it's now C#, the installer will be much smaller now. :D

Thanks.

Sirber
24th April 2006, 14:46
You're welcome. :)

Ya. Since it's now C#, the installer will be much smaller now. :D

Thanks.What's big is not the main executable, it's all the bundeled apps. I'm at 6MB now for the installer.

Should I still bundle AVISynth, FFDShow and Helix codecs?

Eretria-chan
24th April 2006, 14:51
Is there no way to detect if they are installed? I vote for as small as possible (ie no to all those components).

Sirber
24th April 2006, 15:08
would be more coding, keeping version of every package, looking on the web if an update is avalible, heavier to maintain, not sure it's worth it for a 10MB package :)

Eretria-chan
24th April 2006, 15:12
It's always worth it :devil:
Check for appropriate version if installed. Optionally download and install. Otherwise, point users to where they can download it.
And that's it.

Sirber
24th April 2006, 15:14
Isn't RealAnime (xAnime) supposed to be fool-proof? ;)

Eretria-chan
24th April 2006, 15:27
That is no excuse for not doing such an installer, if you ask me ;)

Sirber
24th April 2006, 15:30
alright, I will just include Helix codecs and post a link to AVISynth and FFDShow.

Sirber
25th April 2006, 02:09
woot woot!

C:\Projets\xAnime\bin\Release>avs2wav.exe -n e:\Anime\Tests\1.avs - | enc_aacPlus.exe - c:\out.aac
avs2wav v1.0 by Jory Stone <jcsston@toughguy.net>
Input: e:\Anime\Tests\1.avs
Output: -
********************************************************************
* AACPlus v2 Encoder (using Winamp 5.2 enc_aacplus.dll)
* Source timestamp Sun Feb 26 16:19:37 2006
* Build Feb 26 2006, 16:22:43
********************************************************************
* NOTE! enc_aacplus.dll must be into executable directory
* get it from Winamp 5.2 plugins directory
* tested on Winamp 5.2 Release Feb 23 2006 Full (Not Pro) version)
********************************************************************
Scanning for Audio Stream...
Found Audio Stream
Using stdout for WAV Output

Writing WAV Headers...
Scanning...
Input file: -
Output file: c:\out.aac
SampleRate: 48000
ChannelCount: 2
BitsPerSample: 16
Bitrate: 48000
ChannelMode: Parametric Stereo
Encoder: aacPlus v2 (HE-AAC+PS)
Encoding...
Took 1.66 seconds for the writing pass
Normalizing with a factor of 1.1971 ...
Took 2.80 seconds for the normalizing pass
Done

with no temp file :D

Sirber
25th April 2006, 02:20
So far so good, installer is 4.5MB.

Includes:
* xAnime
* MediaInfo 0.7.x
* x264
* mkvtoolnix 1.6.5
* mp4box
* yamb 1.6
* avs2wav
* enc_aacPlus + DLL
* some AVS filters

Sirber
25th April 2006, 02:21
Should I do an NSIS installer, or just a 7z?

Sirber
25th April 2006, 02:30
Can someone give me a hand with this function?
// Execute something and show logs
private void Exec(string cmdLine)
{

}
I don't have a clue on how to start a process, monitor it while it's running, get the output made by the CLI, and get the exitCode when it terminates.

Thanks for your help!

Eretria-chan
25th April 2006, 13:08
Should I do an NSIS installer, or just a 7z?
I always prefer an installation since I don't have to add shortcuts manually.
About the CLI problem: that's just the problem with CLI. You are supposed to do it in DOS envoirment, not execute them from other programs. Why can't there exist a dll interface?
Meh. Search MSDN and see what you can find. I might take some small bit of time looking into it if I have time.

Btw, how long was the audio clip?

stax76
25th April 2006, 13:45
I always prefer an installation since I don't have to add shortcuts manually.

With drag & drop you should be done with this in 2-5 seconds.

Eretria-chan
25th April 2006, 13:50
And yes, automatic uninstall too. Yes, I know it can be done easily and fast, and yes, I'm lazy.

EDIT:
I found this sample to communicate with CLI apps!

System.Diagnostics.Process calcProc = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo i =
new System.Diagnostics.ProcessStartInfo();
i.FileName = "cscript.exe";
i.Arguments = "//NoLogo calc.vbs";
i.RedirectStandardOutput = true;
i.RedirectStandardInput = true;
i.RedirectStandardError = true;
i.CreateNoWindow = true;
i.UseShellExecute = false;
calcProc.StartInfo = i;
calcProc.Start();

You might even be able to find the exit code in there!
Here is the article: http://msdn.microsoft.com/msdnmag/issues/04/02/NETConsoleApps/default.aspx
Good luck!

Sirber
25th April 2006, 13:56
About the CLI problem: that's just the problem with CLI. You are supposed to do it in DOS envoirment, not execute them from other programs. Why can't there exist a dll interface?All my external SW are in win32 console softwares, so I need to manage them ;)
And yes, automatic uninstall too. Yes, I know it can be done easily and fast, and yes, I'm lazy.
EDIT: Sirber, you could try System.Console.Out, System.Console.In and System.Console.Error. They are the standard streams which CLI applications should use. Try it and see if it works.My app is a GUI. System.console is to input / output for .NET console app.

Eretria-chan
25th April 2006, 14:19
Hey wait! I found another way! Look again at the post, as I edited it.

Sirber
25th April 2006, 14:54
I found this sample to communicate with CLI apps!

System.Diagnostics.Process calcProc = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo i =
new System.Diagnostics.ProcessStartInfo();
i.FileName = "cscript.exe";
i.Arguments = "//NoLogo calc.vbs";
i.RedirectStandardOutput = true;
i.RedirectStandardInput = true;
i.RedirectStandardError = true;
i.CreateNoWindow = true;
i.UseShellExecute = false;
calcProc.StartInfo = i;
calcProc.Start();

You might even be able to find the exit code in there!
Here is the article: http://msdn.microsoft.com/msdnmag/issues/04/02/NETConsoleApps/default.aspx
Good luck!
Nice! Thanks!

Where does RedirectStandardOutput go?

Eretria-chan
25th April 2006, 14:55
calcProc.StandardInput.WriteLine("1+1");
string result = calcProc.StandardOutput.ReadLine();

That should do it :)

Sirber
25th April 2006, 15:01
sweet! gonna try during lunch time! :D

Eretria-chan
25th April 2006, 15:06
Good luck :) Let me know how it turns out!

Sirber
25th April 2006, 17:36
private void Exec(string cmdApp, string cmdLine)
{
Process calcProc = new Process();
ProcessStartInfo i = new ProcessStartInfo();

// Start info
i.FileName = cmdApp;
i.Arguments = cmdLine;
i.RedirectStandardOutput = true;
i.RedirectStandardInput = true;
i.RedirectStandardError = true;
i.CreateNoWindow = true;
i.UseShellExecute = false;
calcProc.StartInfo = i;

// Start
calcProc.Start();

// Wait
while (calcProc.HasExited == false)
{
// Get logs
}

// Close
calcProc.Close();
}
But, can I pipe in the field "arguments"? for avs2wav | enc_aacPlus

[edit]

If not, I can do it in 2 pass using a temp big WAV file.

Eretria-chan
25th April 2006, 19:52
Not sure what you mean with pipe, but you might want to take a look at the actual article:
http://msdn.microsoft.com/msdnmag/issues/04/02/NETConsoleApps/default.aspx
It might give you some advice.

You can, of course, pass arguments when starting the process. Or, you can use the standard input stream to send it data, if that's what you mean. There is also a sample of that from the previous post I did, with the code samples (two lines).

Sirber
25th April 2006, 20:48
By pipe I mean here:

http://forum.doom9.org/showthread.php?p=819210#post819210

actually 2 software are called, in 1 shot.

Sirber
25th April 2006, 20:51
ConsoleProcess atProc = new ConsoleProcess("at.exe", "/?");
ConsoleProcess findProc = new ConsoleProcess("findstr.exe", "\/delete");
Pipe pipe = new Pipe(atProc, findProc);
atProc.Start();
findProc.Start();
pipe.Start();
string output = findProc.StandardOutput.ReadToEnd(); Seems I can pipe :)

I think I will do it in 2 Exec();

Eretria-chan
25th April 2006, 20:52
I see... that. To actually send the results of the first output directly to the second. Yes, the article DID mention that, and that it could be accomplished in two different ways. One of them was yours, to control it manually.
It's a shame I can't compile your project. My Visual Studio is practically borked, and I only just installed it! Stupid microsoft...

Sirber
25th April 2006, 21:11
Bah, easier to understand in 2 pass:

1) avs2wav
2) enc_aacPlus

Eretria-chan
25th April 2006, 21:12
I know what it means, no need to explain.
Or are you saying it's too hard for you to use pipes? :p

Sirber
25th April 2006, 21:42
I want to keep the code simple, as in mentally challenged ;)

Eretria-chan
25th April 2006, 21:43
Sure thing. Do what you want :) As long as it gets done :sly:

Sirber
25th April 2006, 21:46
I'd like to remind you RealAnime 4 took more than a year to complete. xAnime should be done completly in 2 months. If everything goes well, alpha 1 should be avalible this weekend... just need to whip Lain some more ;)

Eretria-chan
25th April 2006, 22:06
Let me remind you: I don't need all the features. As long as it works, that's fine. And I will continue using RA until you finish development on this one.
Of course, I will test any alphas you post, too.

Sirber
25th April 2006, 23:47
cool! thanks!

I don't uyse every feature of RA4 too, that's why I'm making xAnime.

Sirber
26th April 2006, 12:43
anyone having code to get some basic info from VFW?

* width
* height
* fps
* if audio
* if video

Eretria-chan
26th April 2006, 12:49
Can't you use Managed DirectX? Or perhaps DirectShow isn't available in managed form? I don't know. Either way, DirectShow should be able to provide such information, if you can use it.

Sirber
26th April 2006, 14:50
gonna look at megui sources ;)