Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Tool] AVCEncode v2.2


S3NS3
2006-11-05, 11:19:29
Hallo !

Da jetzt doch mehrere an meinem AVC-Encoder interessiert waren dachte ich mir ich setz das mal Online und erkläre die vorgehensweise ein wenig.



WAS:

Eine Encodersuite basierend auf Freewaretools.
Über eine Batchdatei gesteuert wird vollautomatisch eine MP4-Datei Encoded.
Als Quelle funktionieren nur AVI-Dateien, am besten uncompressed.

Benutzte Komprimierungen:
Videokomprimierung : h.264 (AVC) , 2Pass
Audiokomprimierung : AAC Low Complexity

Die wichtigsten Parameter sind einfach in der Batchdatei anzupassen.
Kommentiert ist auch alles.




WIE:


Einfach das ZIP entpacken und erstmal das in dem "install"-Verzeichniss vorhandene AVISynth installieren. Das ist natürlich nur einmal nötig. Dann in der "makemp4.bat" den Pfad zu dem Verzeichniss wo es hinentpackt wurde anpassen. Jetzt ist die Batchdatei einsatzbereit.

Sagen wir als Beispiel es soll ein AVI mit einer Auflösung von 1024x576 Pixeln und einer FPS von 30 mit 3,5Mbit Encoded werden:

1. Das AVI in "quelle.avi" umbenennen und in den Order "AVCEncode" kopieren.
Der selbe also wo auch die Batchdatei drin ist.
2. Mit einem Texteditor die Parameter in der Batchdatei "makemp4.bat"
an das AVI anpassen.

set mymovie=quelle..............<-- Bedeutet das Quellfile heist "quelle.avi"
set mypath=e:\AVCEncode....<-- Der Pfad zur Batchdatei (anpassen!)
set myabitrate=128..............<-- Audiobitrate. 96Kbit sind gut, 128 super.
set myvbitrate=3500.............<-- Videobitrate 3500Kbit (3,5Mbit)
set myfps=30......................<-- 30FPS
set mycrop=0,0,1024,576......<-- Beschneidung. In diesem falle also keine.
set myres=1024,576.............<-- Skalierung. In diesem falle auch keine.
set mynoise=0.....................<-- Bildrauschen entfernen. 0 = Deaktiviert
set mymotion=umh................<-- Motionestimation. UMH sollte immer reichen
set mytrellis=1.....................<-- Trellis Quantisierung an

3. Die "makemp4.bat" starten. Es erscheint nochmal eine Übersicht der
Parameter. Wenn alles Ok scheint eine Taste drücken.
Jetzt läuft das Encoden automatisch in folgender Reihenfolge ab:

a. Ton demultiplexen und temporär als WAV speichern.
b. Das WAV in AAC Encoden.
c. AVC-Komprimierung 1. und 2. durchgang.
d. Das AVC-Video und die AAC-Audio -Dateien in einem MP4-Container
multiplexen.
e. Eine weitere Übersicht erscheint. Man kann auch noch ganz nach oben
scrollen um sich alle Daten des gesamten vorgangs nochmal anzuschauen falls nötig.


4. Eine Taste drücken und schon sollte mal seine MP4-Datei haben.

Nähere Erklärungen zu den Parametern befinden sich ja in der Batchdatei selber. Notfalls bei den Docs zu den Tools selber nachgucken.




Ich hoffe das alles klappt. Bei mir seit längerem einwandfrei und das Endergebniss spricht für sich. Kenne keinen besseren AVC-Encoder als den x264. Achja... fest eingestellt ist das x264 vier Threads benutzt da ich "4" CPUs habe. Sollte aber selbst auf SingleCore nichts ausmachen. Ansonsten müsste man es manuell unten in der Batchdatei ändern.

Wenn man genug Zeit hat kann man als Motionestimation ja "esa" eintragen... beste Bild aber unglaublich langsames encoden !



Download:

http://files.filefront.com/AVCEncode_v22zip/;6135361;;/fileinfo.html

suffer1ng
2006-11-10, 15:15:26
So, also mal als erstes sehr großes THX an dich :D

Ich lade grade das Proggi da runter und werd das jetz dann erst mal ausprobieren :)

UPDATE
Boah lol, genau dann, als ich dieses Update gepostet hatte, war ich wieder unlogged -.-

Also nochmal... ne Frage: Welche Codec-Einstellungen benützt das Proggi?
Imo is die Quali nice :) (@ 3500kbit)
Ich teste nun mal n bissl noch weiter, aber werd mich erst mal später damit beschäftigen, nämlich sobald ich dann mit dem Capturen anfange, zZ hab ich nur 3 Szenen, was n bissl wenig is und für n paar neue machen bin ich zZ zu faul ^^.

S3NS3
2006-11-11, 11:13:34
Benutzt die Einstellungen die in der BAT zu sehen sind ! Ansonsten dann x264-Standard. Ausser eben anstatt einen, vier Threads zu nutzen.
Die Quali kannst noch ein klein wenig verbessern wenn du mymotion=esa einträgst. Aber das Encoden dauert dann unmenschlich lang.

suffer1ng
2006-11-11, 13:46:31
Achso! Kann ich dann nicht die Quantizer usw einstellen?

jo, esa is ja exhaustive und wenn ich das bei MeGUI oder so mache, dann dauerts immer länger xD aber auch nicht mehr als die hälfte länger...

UPDATE
Noch eine dringende Frage!!
Also ich hab mir hier mal so nen Video Size Calculator angesehen und mal herumprobiert und bin draufgekommen, dass 30fps und 60fps genau die gleiche Größe hätten. Dann hatte ich mich halt ne Weile gefragt, warum das so sei und bin draufgekommen, dass die Bitrate (in dem Fall waren es 5000) sich nicht auf die einzelnen Bilder bezieht sondern auf eine Sekunde... heißt das also, dass eine Szene, die 30fps und 5000kbit/s hat, ein besseres Bild hat als eine Szene, die 60fps und ebenfalls 5000kbit/s hat? Denn mehr Bilder würde ja weniger Bitrate für jedes einzelne Bild heißen oder nicht?

S3NS3
2006-11-11, 14:14:36
Achso! Kann ich dann nicht die Quantizer usw einstellen?

jo, esa is ja exhaustive und wenn ich das bei MeGUI oder so mache, dann dauerts immer länger xD aber auch nicht mehr als die hälfte länger...

UPDATE
Noch eine dringende Frage!!
Also ich hab mir hier mal so nen Video Size Calculator angesehen und mal herumprobiert und bin draufgekommen, dass 30fps und 60fps genau die gleiche Größe hätten. Dann hatte ich mich halt ne Weile gefragt, warum das so sei und bin draufgekommen, dass die Bitrate (in dem Fall waren es 5000) sich nicht auf die einzelnen Bilder bezieht sondern auf eine Sekunde... heißt das also, dass eine Szene, die 30fps und 5000kbit/s hat, ein besseres Bild hat als eine Szene, die 60fps und ebenfalls 5000kbit/s hat? Denn mehr Bilder würde ja weniger Bitrate für jedes einzelne Bild heißen oder nicht?

Jupp, genau ! Und mit den anderen Settings müsstest du unten in der BAT gucken was da angegeben war. Weis das jetzt nicht mehr auswendig. Waren schon ein paar Parameter. Die erklärung dazu bekommst ja von der x264.exe selber. Glaub -help oder so... länger her wo ich die grundparameter da angepasst hatte.

S3NS3
2006-11-11, 14:19:44
Also habe mal geguckt. Diese Parameter sind fest angegeben:

--ref 3
--bframes 3
--filter 2,2
--subme 7
--weightb
--analyse all
--8x8dct
--qpmin 4
--qpstep 6
--merange 24
--threads 4
--progress
--no-psnr

Das --threads 4 wäre dann das mit der anzahl der Threads. Rest müssteste selber nochmal nachschaun was es genau heist.

suffer1ng
2006-11-11, 18:16:38
Also sind die Parameter die da eingestellt sind halbwegs gut? Dann lass ich die so eingestellt :D
Btw, was genau bringt das dann mit den Threads? Also was soll das halt heißen.

S3NS3
2006-11-11, 18:37:42
Also sind die Parameter die da eingestellt sind halbwegs gut? Dann lass ich die so eingestellt :D
Btw, was genau bringt das dann mit den Threads? Also was soll das halt heißen.

Ich hatte die Parameter mal wo abgeguckt. Aber dann selber was getuned. Denke sind super. Aber ist länger her, ka mehr was was genau ist. Mit den Threads heist das er so wies eingestellt ist 4xParallel Rechnet. Bei 4CPUs ist das natürlich Optimal. Aber bei 2 oder 1... könnte der verwaltungsaufwand ein klein wenig bremsen. Würds anpassen an deine anzahl CPUs. Denke wird gut unter 1% was das bremst aber... why not?

suffer1ng
2006-11-11, 19:35:41
Ok gut.
Naja, hab nen Core 2 Duo E6400... heißt das also ich sollte dann 2 threads einstellen?

UPDATE
Verdammt, mir is grade aufgefallen, dass so nen Clip bei mir schon 40% Prozessor Auslastung hat, d.h. dann, dass es bei Leuten die nen Athlon 64 3000+ oder so haben garnicht mehr läuft oO...

S3NS3
2006-11-12, 06:08:06
Ok gut.
Naja, hab nen Core 2 Duo E6400... heißt das also ich sollte dann 2 threads einstellen?

UPDATE
Verdammt, mir is grade aufgefallen, dass so nen Clip bei mir schon 40% Prozessor Auslastung hat, d.h. dann, dass es bei Leuten die nen Athlon 64 3000+ oder so haben garnicht mehr läuft oO...

Jupp 2 !

Und mit dem abspielen ist so ne sache immer :)
CoreAVC ist da sehr gut. Aber hat nicht jeder.
Sonst vielleicht nur 25/30FPS benutzen.

suffer1ng
2006-11-12, 10:43:05
ok :)
Also mit 30fps (eigentlich nur 29,9x :P) läufts gleich einiges besser, bzw sind nur noch 30% Prozessleistung :)
Was isn CoreAVC? avc1?

S3NS3
2006-11-12, 13:26:14
Ne ein extrem guter dekoder für AVC!
Die aktuelle Version kostet aber leider geld...

http://coreavc.corecodec.org/

Aber die ältere v0.0.0.4 Alpha bekommst so und die geht auch schon ab ;)
Nach googeln am besten.

EDIT:

€dit2 by darph: Link raus, weil laut Entwickler darph's nicht mehr vertrieben werden.

Skinner
2006-11-12, 14:06:30
Was isn CoreAVC? avc1?

CoreAVC ist ein Direct Show Decoder für H264 Content, also AVC Material.

Gast
2006-11-14, 20:43:50
Ok gut.
Naja, hab nen Core 2 Duo E6400... heißt das also ich sollte dann 2 threads einstellen?



nicht zwangsläufig, wenn die auslastung der einzelnen threads nicht gleichmäßig ist bringen mehr threads als kerne durchaus noch mehrleistung.

suffer1ng
2006-11-19, 15:03:21
Aso ok, thx für die infos :)