Video Konvertierer

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
almatic
Beiträge: 25
Registriert: So 10. Aug 2008, 01:56

Video Konvertierer

Beitrag von almatic »

Hi,

habe einen Video Konvertierer gemacht, der im Prinzip ein frontend für ffmpeg und mencoder ist.
Das Ziel ist, logischerweise, die schnelle und einfache Konvertierung von Videodateien aller Art in
alle möglichen Formate (im Gegensatz zu avidemux zum Beispiel, mit dem man ja noch viel mehr m
achen kann, aber eben nur einzelne Files und nur die wichtigsten Formate).

Das Programm ist noch nicht ganz fertig, sollte aber unter Linux fehlerfrei laufen.
Was es kann (neben dem Konvertieren einzelner Files) :
-Batchkonvertierung beliebig vieler Dateien
-Profile (mitgelieferte und eigene Profile speicherbar)

Was es (noch) nicht kann:
-mencoder ist noch nicht verfügbar (wird auch noch dauern)
-mehrere Inputfiles in ein Outputfile konvertieren
-die GUI könnte noch etwas schöner sein (bin kein wirklicher Designfreak)

Was mich jetzt interessieren würde:
-Bugs aller Art (vor allem grobe Sachen, wie Abstürze oder Funktionsfehler)
-die Funktion auf Suse/Mandriva/Fedora
-Vorschläge und Feedback zur Bedienung
-Ein Tip, wie man das Binary kleiner bekommt (20mb sind zu viel).

Sobald es zufriedenstellend funktioniert, werde ich es irgendwo mitsamt Quellcode
veröffentlichen (Paket enthält nur ein Linux-Binary im Moment).

Installation:
keine (die Profildatei einfach nach /home/user kopieren, das Binary mit doppelklick aufrufen)

Voraussetzungen sind übrigens ffmpeg und mplayer, das hatte ich noch vergessen. Das Programm prüft nicht, ob die vorhanden sind.

xtdvfr5c.jpg

Download:

http://www.savefile.com/files/1778280
Zuletzt geändert von almatic am Di 9. Sep 2008, 21:54, insgesamt 5-mal geändert.

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Video Konvertierer

Beitrag von Hitman »

Die Dateigröße reduzieren ist kein Problem: stelle "Smartlinkbar" bei den Compileroptionen, "Smartlinken" bei den Linkeroptionen sowie "Debugsymbole entfernen" an. Allein ein manuelles strippen (strip --strip-all hypervc) hat die Datei auf knapp 3MB geshrinkt.

Oh und übrigens: da es sich um Videos handelt, wäre die Endung ".ogm" wohl gebräuchlicher als ".ogg".

almatic
Beiträge: 25
Registriert: So 10. Aug 2008, 01:56

Re: Video Konvertierer

Beitrag von almatic »

Hi,

danke erstmal für das Feedback. ffmpeg kann auch audio konvertieren (oder zum Beispiel audio aus Videos extrahieren, wofür auch Profile dabei sind), daher die Endung .ogg. ogm habe ich vergessen, könnte ich noch reinmachen, die Kombobox ist aber editierbar. Du kannst also ohne weiteres einfach .ogm eingeben und auch in Profilen speichern.

Die Debugsymbole wollte ich am Anfang erstmal drinlassen, da sonst Fehlermeldungen relativ wertlos sind. Wenn es keine andere Möglichkeit gibt, dann ist es so, lässt sich ja gut komprimieren.

Mir ist aufgefallen, dass ich dummerweise bei allen Profilen .avi als Endung gespeichert habe, müsst ihr also manuell umstellen oder die Profile ändern.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Video Konvertierer

Beitrag von Euklid »

Hallo
almatic hat geschrieben:-Ein Tip, wie man das Binary kleiner bekommt (20mb sind zu viel).


Habe hier zu vor ein paar Wochen mal eine ausführliche Anleitung geschrieben:
/viewtopic.php?f=51&t=1878

Wollte demnächst mal meine mp3-Sammlung nach ogg konvertieren. Das müsste mit deinem Programm machbar sein?

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Video Konvertierer

Beitrag von monta »

Eine Liste der Unterstützen Formate wäre vielleicht noch hilfreich.
Bzw. ich geh mal davon aus, das dein Frontend pauschal erstmal alle Formate annimmt, die FFMpeg verarbeiten kann, nur welche Formate kann eigentlich FFMpeg? Gibts da irgendwo ne Dokumentation. Ich hab gerade mal kurz auf der Webseite in der Doku geschaut, hab allerdings nichts komplettes gefunden.
Johannes

alexander
Beiträge: 423
Registriert: Di 5. Feb 2008, 12:45
OS, Lazarus, FPC: Linux, Lazarus svn, FPC svn
CPU-Target: 64Bit
Kontaktdaten:

Re: Video Konvertierer

Beitrag von alexander »

kannst du auch css mithilfe von libdvdcss2 knacken?

Es wäre sehr schön, wenn man in dem Programm auch einen DVD Ordner angeben könnte und er aus den Vob files einen xvid, o.ä. macht...
Du magst Freiheit? Gönne es auch deinem Computer mit Linux!
www.alexanderroth.eu

almatic
Beiträge: 25
Registriert: So 10. Aug 2008, 01:56

Re: Video Konvertierer

Beitrag von almatic »

danke für die Tips zum Verkleinern, smartlinking hat tatsächlich etwas gebracht, das Programm wird auch nicht mehr viel größer.

Wollte demnächst mal meine mp3-Sammlung nach ogg konvertieren. Das müsste mit deinem Programm machbar sein?


Das geht (kannst das Profil für "audio extrahieren als ogg" dafür nehmen), aber reine Soundkonvertierung ist allgemein nicht so die Stärke von ffmpeg. Zwar verwendet es die Originallibs (libogg und libvorbis in dem Fall), aber es wird nicht alles unterstützt, was das Format kann. So funktioniert mit meiner ffmpeg-Version nur vbr-kodierung mit vorbis, das ist ja nicht immer wünschenswert. Auch müssen explizit 2 Kanäle angegeben werden, ist zwar nicht schlimm, muss man aber wissen. Sowas würde wohl klappen:

ffmpeg -i input.mp3 -f ogg -acodec vorbis -ar 44100 -ac 2 -aq 50 output.ogg

Die aq-Option hab ich gar nicht eingebaut, weil die neu ist und anscheinend nur mit vorbis funktioniert. Muss also als "custom option" gespeichert werden.
Generell würde ich bei Soundkonvertierung eher zu dem Perl-Skript soundkonverter raten, das hat auch ein Plugin für amarok, womit man gleich aus amarok alles konvertieren kann.
Funktionieren tut's aber auch mit meinem Programm :)

Eine Liste der Unterstützen Formate wäre vielleicht noch hilfreich.


Also, die unterstützten Formate hängen davon ab, wie ffmpeg kompiliert wurde. Wegen der schwierigen Lizenslage bei vielen Codecs sind da zig verschiedene Versionen im Umlauf, jede Distribution hat ihre eigenen, eine kastrierte im offiziellen Repository und eine "offene" in irgendeinem 3rd party rep.
Wenn du rausfinden willst, was deine Version unterstützt, kannst du mal "ffmpeg -formats" eingeben. Dann siehst du die ganze Liste. Zum Enkodieren kannst du nur solche mit einem "E" verwenden.

Den Output von ffmpeg -formats könnte ich natürlich noch irgendwo reinmachen, mal schauen.

kannst du auch css mithilfe von libdvdcss2 knacken?


ffmpeg kann's nicht und mein Programm ruft ja nur extern auf. Du musst das dann vorher mit dvd decrypter o.ä. entschlüsseln und rippen, das geht am schnellsten (läuft auch unter wine). Ist zwar verboten, aber dient ja hier Bildungszwecken :wink:
Die .vob Dateien kannst du natürlich konvertieren (sind ja mpeg2), allerdings nur einzeln, da mein Programm noch nicht mehrere input-Dateien in ein Output-File schreiben kann. Kommt aber noch.

Ich habe jetzt erstmal ein neues File hochgeladen, in dem die größten Schwächen beseitigt sind (hoffe ich).
- es kann jetzt erkennen, wann die Konvertierung beendet ist, und ob sie erfolgreich war.
- ich habe noch ein kontextmenü eingebaut zum schnelleren Auswählen von Profilen.
- die Profile sind korrigiert
- falls ihr eine ivtv-kompatible TV-Karte habt, könnt ihr davon aufnehmen in jedes beliebige Format

es ist auch ein servicemenu dabei, wenn ihr kde habt, könnt ihr das nach /home/user/.kde/share/apps/konqueror/servicemenus packen und dann mit Rechtsklick auf Videofiles aus konqueror konvertieren. Vorher muss die exec-Zeile aber angepasst werden, auf den Pfad des Binaries, oder das Binary in den Suchpfad. Bei Gnome weiß ich jetzt nciht, wie das geht.

Lasst mich wissen, wenn etwas nicht geht, crasht oder wenn ihr sonstige Vorschläge habt (zum Layout zum Beispiel).

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Video Konvertierer

Beitrag von monta »

almatic hat geschrieben:Also, die unterstützten Formate hängen davon ab, wie ffmpeg kompiliert wurde. Wegen der schwierigen Lizenslage bei vielen Codecs sind da zig verschiedene Versionen im Umlauf ...
Wenn du rausfinden willst, was deine Version unterstützt, kannst du mal "ffmpeg -formats" eingeben


Danke, damit hat sich meine Frage ja erledigt und ich schau mal nach, was 'mein' ffmpeg so kann.
Johannes

almatic
Beiträge: 25
Registriert: So 10. Aug 2008, 01:56

Re: Video Konvertierer

Beitrag von almatic »

hier ist auch der sourcecode.

http://www.savefile.com/files/1778038

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6212
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Video Konvertierer

Beitrag von af0815 »

Windows Version mal vorhesehen ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

almatic
Beiträge: 25
Registriert: So 10. Aug 2008, 01:56

Re: Video Konvertierer

Beitrag von almatic »

Windows Version mal vorhesehen ?


jup, das ist sogar der Hauptgrund, warum ich Lazarus genommen habe. Ich habe ja auch schon das hier gemacht.

http://kde-apps.org/content/show.php/Hy ... tent=67781

Das habe ich bis jetzt benutzt und unter Windows vermisst. Es gibt zwar "Super", das ist aber nicht so super, wie man vom Namen her vermuten könnte (spywareverdächtig, verwendet alte ffmpeg/mencoder Versionen, macht das System instabil usw.).

Allerdings gibts noch ein paar Hürden, da ffmpeg ja (leider) nicht so leicht für Windows zu bekommen ist. Das muss ich wohl selbst kompilieren. Oder weiß jemand, wo es (aktuelle) Windowsbinaries von ffmpeg gibt ?

Antworten