staging.inyokaproject.org

Metadaten AVI/Mpeg4

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

thobug

Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: Zähle...

Hi Ubuntumultimedianer!

besteht eigentlich die Möglichkeit den encodierten AVI/Mpeg4-Dateien, Metadaten wie z.B. Genre, Jahr, Land, Kurzbeschreibung o.ä., ähnlich wie die ID3-Tags bei mp3-Dateien, anzuhängen? Damit würde man auch bei einer größeren Filme-Sammlung noch den Überblick bewahren.

Viele Grüße und schönes Wochenende noch!

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: Zähle...

Jep das geht. ZB mit dem Multimedia-Allrounder ffmpeg:

1
ffmpeg -i foo.mpg -metadata title="Titel des Videos" foo.mp4

Doch soweit ich weiß unterstützt selbst die Medibuntu-Version von ffmpeg keinen H.264-Output (mp4). Es könnte also sein, dass du dir selbst einen Build aus den aktuellen Quellen machen musst (http://ffmpeg.org/download.html).

thobug

(Themenstarter)
Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: Zähle...

Hallo,

und danke für die Antwort. Ich dachte allerdings eher an Xvid bzw. MPEG-4-ASP oder an DivX und nicht an H.264. Gibt es auch dafür etwas.

Gruß

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: Zähle...

Dann versuch dasselbe halt einfach mit anderen Suffixen und gib evtl. noch explizit den Codec dazu an.

thobug

(Themenstarter)
Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: 158

Hi, kannst Du das noch ein bisschen konkreter ausführen? Also ich encodiere nicht mit ffmpeg sondern mit transcode. Die von Dir vorgeschlagene Befehlszeile enthält die Option -metadata gefolgt von title. WQElche weiteren Felder gibt es da noch, oder sind die völlig frei. Was macht der ffmpeg -Befehl? Hängt der nur die Daten an ode encodiert der was? Also wie gesagt: ich werde nicht ganz schlau. Grundsätzlich ist die Funktionalität nicht unwichtig auch Videodateien, wie bei Audio- oder Fotodateien Metadaten anzuhängen! Gruß

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: Zähle...

Ich habe mir transcode mal angesehen; allem Anschein nach unterstützt dieses Programm Metatags gar nicht. Du wirst also doch zu ffmpeg greifen müssen.

Mir sind folgende Metafelder bekannt:

title
author
copyright
comment
album
track
year
1
ffmpeg -i input.avi -vcodec copy -acodec copy -metadata title="Titel des Videos" -metadata comment="Ein Kommentar" output.avi

Dieser Befehl kopiert einfach die input.avi nach output.avi und fügt darin die übergebenen Metatags ein (in diesem Beispiel title und comment).

Alles klar soweit? 😉

thobug

(Themenstarter)
Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: 158

Hallo und danke, werde das mal probieren. Hast Du evtl. einen guten Link zu FFMpeg mit bewährten Parametern oder Beispielen. Auf der Wiki-Seite geht es ja nur um die Installation.

Gruß

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: 132

Nein, leider nicht. Die Dokumentation auf der ffmpeg-homepage ist leider schon ziemlich veraltet (diverse Parameter existieren nicht mehr oder wurden geändert). Vlt. findest du was über Google oder sonstige Suchmaschinen, aber die meisten ffmpeg-Tutorials sind ebenfalls veraltet ☹

Du musst dich wohl oder übel an ffmpeg -h und man ffmpeg halten.

thobug

(Themenstarter)
Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: 158

Hi danke!

ich hab Deinen Einzeiler mal probiert –> Fehlermeldung. Ich hab dann mal einfach so ffmpeg eingegeben, dann kam eine endlos lange Liste mit Parametern. Statt "Metadata" ist einfach das Feld z.B. -title "hier Text rein" zu verwenden, also z.B. :

ffmpeg -i Film_in.avi -vcodec copy -acodec copy -title "Ein Kommentar" Film_out.avi

Die Infos sieht man dann, wenn man den Film mit der rechten Maustaste –> Eigenschaften und auf den Reiter Audio/Video geht ☺

Du erwähntest, dass das mit Transcode nicht klappt. Weist Du was über den weit verbreiteten Mencoder - der ist glaube ich ein bisschen besser dokumentiert?

Grüße

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: 132

Du hast eine alte Version (die aus den Medibuntu-Quellen ist noch von 2007). Um eine aktuelle ffmpeg-version zu bekommen, musst du dir wohl selbst kompilieren. Ich habe für mich schon einen SVN-Build angefertigt, du kannst ihn gerne haben: ffmpeg.tar.gz Dieses Archiv enthält mehrere DEB-Pakete. Das ffmpeg-Paket muss zuletzt installiert werden.

Mit MEncoder hab ich kaum Erfahrung da ich immer zu ffmpeg greife und beide Programme dieselben Bibliotheken verwenden.

thobug

(Themenstarter)
Avatar von thobug

Anmeldungsdatum:
6. Februar 2008

Beiträge: 158

Hey heart_disease,

mile grazie! Werde mir allerdings doch lieber selber ein Build machen: ich habe ein 64-Bit System am laufen. ffmpeg wird es ja wohl auch als eine 64-Bit Version geben?!

Hast Du eigentlich lippensychrone AVIs mit ffmpeg erhalten? Welche Bitrate nimmst Du den so für einen Spielfilm? Mit was remuxt Du?

Weshalb ich es zunächst mit transcode probiert habe liegt an diesem Link: http://www.johannes-bauer.com/dvbt/transcode.php. Ich habe mir folgendes Script (MakexVID) zusammengeschustert, welches alle als Parameter angehängten TS-Dateien aus einem Ordner 1. mit Projectx muxt und mit remux wieder remuxt und schließlich mit mencoder bzw. transcode (wofür ich dann jetzt wohl ffmpeg verwenden werde) encodiert und in ein Videoordner ablegt. Danach werden noch temporäre Dateien gelöscht. Dabei läuft das Ganze aus performancegründen wechselseitig zwischen zwei Platten:

#!/bin/bash
for Dir in $@; do
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Kodiere ${Dir} <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
java -jar /usr/share/projectx/ProjectX.jar -out /media/FAT32/.temp -name ${Dir} ~/Videos/TS-Files/${Dir}.ts
mplex -f 8 -S 0 -o ~/Videos/.temp/${Dir}.mpg /media/FAT32/.temp/${Dir}.m2v /media/FAT32/.temp/${Dir}.mp2
# mencoder ~/Videos/.temp/${Dir}.mpg -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000 -oac mp3lame -lameopts cbr:br=128 -of avi -o /media/FAT32/Videos/${Dir}.avi
transcode -i ~/Videos/.temp/${Dir}.mpg -o /media/FAT32/Videos/${Dir}.avi -y xvid4 -w 2000
rm ~/Videos/.temp/*.*
rm /media/FAT32/.temp/*.*
done

Hast Du/Ihr auch derartige Scripte in Anwendung. Kommentare? Vorschläge? Evtl. lässt sich das Ganze auch mit Java umsetzen - habe mir zumindest mal ein JAVA-Einstiegsbuch besorgt ☺ Endziel ist das dann noch das automatisiert Metadaten ausgelesen und den Avis angehängt werden und evtl. dass automatisch alle TS-Dateien aus einem Verzeichnis übergeben werden, was wohl mittels einer Pipe gehen dürfte?!? ls > Script?

Gruß

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: 132

Hä, ich weiß gar nicht was du da überhaupt vorhast ^^

Es sieht auf jeden Fall umständlich aus. FFmpeg kennt Parameter zum Audio/Video-Synchronisieren, wenn du das meinst.

Wenn ich ehrlich bin, brauche ich diese Tools nur zum Konvertieren von YouTube-Videos oder Filmen aus dem Internet. Ich hab da jetzt nicht so die riesen Erfahrung damit. Wenn du ein 64bit-system hast, bist du mit meinen DEB-Paketen vlt. nicht ganz so gut bedient. Da musst du wohl oder übel selbst ran.

Hol dir einfach mal den Source-Code von hier: http://ffmpeg.org/releases/ffmpeg-0.5.tar.bz2 Die benötigten Pakete zum Kompilieren sind:

libfaad-dev libamrnb-dev libamrwb-dev libdirac-dev libfaac-dev libgsm1-dev libmp3lame-dev libopenjpeg-dev libschroedinger-dev libspeex-dev libtheora-dev libvorbis-dev libxvidcore4-dev libdc1394-22-dev zlib1g-dev

Zusätzlich brauchst du noch die X264-Libs (die benötigen wiederum das Paket libgpac-dev), die musst du auch noch vorher kompilieren und installieren:

1
2
3
4
5
git clone git://git.videolan.org/x264.git --depth 1
cd x264
./configure --enable-avis-input --enable-mp4-output --enable-shared
make
sudo make install

Nun wird FFmpeg übersetzt. Zuerst ins ffmpeg-Verzeichnis wechseln, und dann diesen Code ausführen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
flags="--enable-gpl \
--enable-nonfree \
--enable-postproc \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-x11grab \
--enable-gray \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-libdc1394 \
--enable-libdirac \
--enable-libfaac \
--enable-libfaad \
--enable-libfaadbin \
--enable-libgsm \
--enable-libmp3lame \
--enable-libopenjpeg \
--enable-libschroedinger \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-bzlib \
--enable-zlib"

./configure $flags
make
sudo make install

Die Installation wird so ungefähr 20 Minuten dauern.

t1m0n

Avatar von t1m0n

Anmeldungsdatum:
6. Mai 2008

Beiträge: 196

Wie ist das nun mit dem DVR Format? Mein receiver speichert alle Filme beim Aufnehmen nur im DVR Format ab und ich hab noch immer keinen Codec finden können. Hab es probiert aber noch klappt nichts mit DVR - schaut mal hier: http://forum.ubuntuusers.de/topic/video-dvr-codec-gesucht/

Antworten |