Sonntag, 1. Mai 2011

Handliches transcode Skript für Videokonvertierung

20. 05. 11: kleines Update. Das Skript hatte ich neu geschrieben und nun merk ich langsam, dass es nich so toll ist, wie ich mir das so dachte. Empfehle es nun nicht unbedingt, es sei denn, man will nur Zeitraffer machen und evtl Audio drunterlegen oder sich transcode mal näher anschauen. Mit ffmpeg bin ich in manchen Sachen doch schneller.

--

Ich verwende für die avi Konvertierung der Digitalkamerafilme (Canon Legria FS20, mod/mpeg Format, Interlaced top field first) transcode und ffmpeg.

Momentan hab ich folgende Funktionen in Gebrauch:
Video ...
- einfach konvertieren
- mit Audio unterlegen
- in Zeitrafferaufnahme konvertieren (timelapse)
- mit Rahmen oder Wegschneiden
- Zwei Pass Enkodierung

Download Skript:
mpgtranscode.sh



Mehrere Dateien konvertieren:
for i in `ls *.mod`; do
trap 'echo "Abort transcoding..."; exit;' 2
./mpgtranscode.sh $i ${i/%mod/avi}
done

Transcode:
FilterEinstellungen
ExportEinstellungen
Interlace/progressive (Interlace vs. Progressive Scan)
Deinterlacing Filters

Interlace Problematik:
If you get the (interlace) option wrong, there will be no difference on a PC monitor, but when viewed on a TV the video will be very jittery; in this case, try the opposite setting
Deinterlacing ist irreversibel. Falls der Zielplayer interlaced Filme darstellen kann, sollte man auf Deinterlacing verzichten. Für youtube sollte man Videos deinterlacen, auch wenn youtube inzwischen teilweise interlaced Videos (nur HD?) darstellen kann, soweit wie ich das mitbekommen hab.

Um herauszufinden, in welchem Interlace Mode ein Video aufgenommen wurde, kann man mit mplayer das Video folgendermaßen abspielen:
$ mplayer -vf tfields=1:0 video.mpg
If the motion looks smooth then the field dominance is top field first; if the motion is not smooth it is bottom field first. To verify the field order play the video again with
$ mplayer -vf tfields=1:1 video.mpg
(siehe Checking Interlace Order)

Donnerstag, 28. April 2011

Collatz Folge mit Big Integers

Collatz Tool (Konsole, Windows / Linux):
- berechnet Collatz Folgen und collatzähnliche Folgen
- Ausgabe in CSV Format in Datei
- zwei Ausgabevarianten (vollständig und aggregiert)
- Optionen und Parameter über Konsoleneingabe konfigurierbar



Update 15.05.11: Version 0.5.
Update 14.05.11: Version 0.4.
Update 08.05.11: Windows Version hinzugefügt + Version 0.3.


Sourceforge Project (Download + SVN):
https://sourceforge.net/projects/collatztool/

Download:
Source:

collatz_0.5_src.zip

Windows 32bit:
collatz_0.5_win32bin.zip
(Kompiliert mit gcc 4.5.0, mingw32)

R Skripte:
collatz_r_scripts.zip


Aus Collatz Problem Bilder

Bilder der visualisierten Daten auf picasa



Ein Artikel auf matheplanet erinnerte mich wieder an ein altes Problem: die Collatz-Folge und die bisher noch ungelöste Frage, ob sie für jede Zahl irgendwann wieder bei Eins terminiert. Siehe auch im Wiki-Artikel zum Collatz-Problem.

Da ich ohnehin mal nach einer Möglichkeit gesucht hatte, mit beliebigen natürlichen Zahlen zu rechnen, fand ich nun etwas Zeit, mal das ganze anhand des Collatz-Problems umzusetzen. Denkbar einfach eigentlich, wenn man folgende Bibliothek verwendet:

http://sourceforge.net/projects/cpp-bigint/
(GPL)

Man kann das Collatz-Problem ein wenig modifizieren und erneut die Frage stellen, ob diese für eine beliebige Zahl terminiert oder in einem Zyklus landet. Statt mit dem Faktor 3 kann man auch 5 oder 7 oder ... nehmen.
Die Zahlen werden jedoch schnell recht groß, sodass die Integer Datentypen hinfällig sind. Zum Experimentieren hab ich also mal ein Mini C++ Programm geschrieben, das obige Bibliothek verwendet.


Beispiel mit Faktor 7 und Startzahl 7. Die Anzahl der Stellen wächst nahezu linear (entspricht logarithmischer Skalierung der Zahlen).

Bild 1 in Gnuplot
Bild 2 in R spaßeshalber mit Regressionsgeraden

--

Inzwischen hab ich das Programm noch erweitert, sodass per Konsole die Optionen eingegeben werden können.

collatz tool (2011/04/28) - License GPL v2
OPTIONS:
-f factor - collatz factor (3)
-s startnumber - number where to start (23)
-m maxloops - maximum of loops (10000)
-o output - output file where all the numbers and digits will be saved ("output.csv")


Eine Ausgabe:
./collatz -f 7 -m 1000 -s 7 -o "myoutput.csv"

Time: 605 ms
Finished!

Startnumber: 7 Factor: 7
Last number:
165059775843459228273519944627021462143091242535195009952629545650013760819089 (Length: 78)

1000 iterations done (of max. 1000).

Output successfully written to myoutput.csv


Der QuellCode kann im Folgenden heruntergeladen werden. Die BigInteger Bibliothek ist mit enthalten. Die GPL Lizenz ist dabei zu berücksichtigen.

Anbei die einfache sowie erweiterte Version und die gnuplot und R Dateien, wen es interessiert.

Download:
Source:

collatz_0.5_src.zip

Windows 32bit:
collatz_0.5_win32bin.zip
(Kompiliert mit gcc 4.5.0, mingw32)

R Skripte:
collatz_r_scripts.zip

Veraltet:
Windows 32bit:
collatz_0.3_win32bin.zip
collatz_0.3_src_vsproject.zip

Linux Source:
collatz_0.1.tar.bz2
collatz_0.3.tar.gz
gnuplot_r.zip

Weitere Artikel zu Collatz:

http://11235813tdd.blogspot.com/2011/05/collatz-folge-fortsetzung.html


http://11235813tdd.blogspot.com/2011/05/collatz-folge-fortsetzung-2.html

http://11235813tdd.blogspot.com/2011/06/collatz-vermutung-weiterhin-nur-eine.html

Montag, 24. Januar 2011

Wikiweb Wikipedia Visualisierung

Wer processing kennt und wikipedia mal als Netz visualisiert haben möchte, kann sich das sketchbook von anthony mattox anschauen.
Die Seiten auf Wiki werden nach Links durchsucht und als Knoten dargestellt. Aus processing heraus können die Links aufgerufen werden. Bilder bzw. Dateien werden durch ein Quadrat, Links als Kreis-Icon repräsentiert.

Die von anthony mattox angebotenen SourceFiles sind jedoch noch nicht ganz aktualisiert (geht vom veralteten wiki-quelltext aus).
Ich habe lediglich ein paar Veränderungen vorgenommen, und zwar gleich so, dass es für die deutsche Wiki läuft (einschließlich Umlaute).
Zu beachten ist, dass unter linux die Funktion "link()" möglicherweise nicht funktioniert. Es erscheint die Fehlermeldung:
Could not find gnome-open or kde-open, the open() command may not work.

Der Browser muss dann in java über einen execute-Befehl direkt aufgerufen werden. Im beigefügten sketchbook gibt es unter "functions" die Funktion "void callLink(String iurl)", die nach Bedarf auch auf andere Browser angepasst werden kann.

Windows
Download

Linux (auf Firefox-Browser angepasst)
Download



Urheber bleibt anthony mattox, lizensiert unter creative common license.

Sonntag, 2. Januar 2011

QTfeedback first release

After some work i finally got it compiled on Windows.
You can get and test it:
http://sourceforge.net/projects/qtfeedback/files/qtfeedback_v1.0.zip/download

View some Screenshots on:
https://sourceforge.net/projects/qtfeedback/

It is more like beta version and not tested on other systems though.
You need libnoise (dll included) and OpenGL 2.0 or newer. Otherwise your texture will stay white.

Features so far:
  • Coloring sources with your own gradients (alphachannel supported)
  • Three different Feedback Methods (*)
  • Heightfield as one Feedback Plane (using libnoise)
  • Make Screenshots of your Feedback Fractals
  • some more features such as texture distortion ...

* Actually there is not much difference between the feedback modes. Mode 1 uses rendered scene to refeedback it like on a second layer. Cant explain it. Try and see, if you switch feedback option on source object.

The second mode is not easier to explain. First render pass uses a more little and mirrored heightfield. Second Pass is normal which uses feedback texture from first stage.

Uh i will have to find a logo for the executable...