Ergebnis 1 bis 7 von 7
  1. #1

    Daumen hoch Automatische Konvertierung mit ffmpeg auf der DiskStation (ARM)

    Hallo Leute!

    Ich hab vor Kurzem ein Programm geschrieben, das mittels selbst definierter Preferenzen einen Ordner überwacht und je nach Einstellungen Videos in ein Format konvertiert, das vom Benutzer festgelegt wird.
    Keine Ahnung ob es sowas ähnliches schon gibt, jedenfalls habe ich dazu im Web nichts gefunden. Hab das Programm auch selbst nicht gerade ausgiebig getestet, deshalb kann es auch sein, das der ein- oder andere Fehler auftritt. Falls jemand Interesse hat, kann er es jedenfalls einmal ausprobieren .
    Normalerweise müsste man es auch mittels Cron zeitlich steuern können - das habe ich aber noch nicht probiert.

    Das Programm habe ich an diesen Post (kompiliert auf einer DS213) angehängt. Wichtig: Man braucht dazu ffmpeg, ffprobe und (optional) qt-faststart. Die Version von ffmpeg muss zusätzlich noch die "neue Syntax" verstehen (z.B. -c:v:0). Leider tut das meiner Erfahrung nach weder die Version, die vorinstalliert ist, noch die Version, die man mittels ipkg laden kann. Deshalb hier ein kleines Tutorial wie man ein neues ffmpeg auf der DiskStation (ARM Marvell-Kirkwood) kompilliert. Falls es schon eine solche Anleitung gibt, bitte melden. Ich jedenfalls habe noch nichts im Web dazu gefunden...
    Ich übernehme keinerlei Verantwortung falls durch das Tutorial oder das Programm irgendwelche Schäden entstehen oder sonst etwas unvorhergesehenes passiert. Das Tutorial beruht auf meinen Erfahrungen und hat bei mir funktioniert.

    Kompillierung von ffmpeg
    Hier als Beispiel habe ich noch libx264 hinzugefügt...
    Ein Video mit h264 - codec dauert zwar ewig zu konvertieren, für kleinere Homevideos ist das aber trotzdem allemal nützlich...

    1) Installieren von ipkg auf der DS (darauf achten, das man das richtige bootstrap installiert und das "Herunterfahren- Skript" ordnungsgemäß angepasst ist)
    Es gibt unzählige Anleitungen dazu im Web auch hier im Forum; hier sind zwei sehr gute:
    http://forum.synology.com/wiki/index...trap,_ipkg_etc
    http://www.synology-wiki.de/index.php/IPKG
    2) Ist ipkg einmal ordnungsmäßig installiert, muss "optware-devel" installiert werden. Das macht man mit:
    Code:
    ipkg install optware-devel
    3) nun noch git und bash installieren:
    Code:
    ipkg install git
    ipkg install bash
    Ich habe alles in den Ordner opt/ geladen. Weiß jetzt gerade nicht mehr ob das der default installationsordner ist. Gegebenfalls einfach nachprüfen ob sich bash in opt/bin/ befindet...

    4) Bevor ffmpeg kompilliert wird, müssen noch alle libraries kompiliert werden, die man braucht. Hier gezeigt mit libx264. Bei anderen funktioniert es aber ebenso. Einfach die Libraries die man benötigt downloaden. Libx264 bekommt man hierher:
    Code:
    git clone git://git.videolan.org/x264
    5) Folgenden Konsolenbefehl im Verzeichnis von x264 ausführen:
    Code:
    sed -i 's/^#!.*$/#!\/opt\/bin\/bash/g' configure version.sh
    (falls sich bash nicht in opt/bin/ befindet, den Pfad entsprechend anpassen...)

    6) Nun richtig konfigurieren:
    Code:
    sh configure --prefix=/opt --enable-shared --disable-asm
    7) Dann noch kompillieren - Fertig
    Code:
    make
    make install
    8) Nachdem alle libraries gedownloadet wurden die man zusätzlich benötigt, ffmpeg downloaden:
    Code:
    git://source.ffmpeg.org/ffmpeg.git ffmpeg
    9) Im Verzeichnis von ffmpeg folgendes Ausführen:
    Code:
    sed -i 's/^#!.*$/#!\/opt\/bin\/bash/g' configure
    10) Nun wieder konfigurieren. Alle libraries die man benötigt 'enablen'.
    Code:
    ./configure --disable-shared --enable-gpl --enable-memalign-hack --enable-libmp3lame --enable-version3 --enable-nonfree --enable-libx264 --enable-libfaac --disable-armv6 --disable-armv6t2 --disable-ffplay --disable-ffserver --prefix=/opt --disable-neon --disable-asm --enable-avcodec --arch=arm --cpu=armv5te --enable-pthreads --disable-decoder=zmbv --target-os=linux --enable-armv5te
    Hier habe ich wie man sieht lame, libx264 und libfaac aktiviert. Ist aber jedem selbst überlassen...

    11) x264 dann noch kopieren:
    Code:
    cp /opt/lib/libx264.so.129 /lib
    (Pfad gegebenfalls entsprechend anpassen...)

    12) Kompillieren...
    Code:
    make
    make install
    Hat bei mir leicht eine Stunde gedauert, also Geduld

    Üblicherweise müssten qt-faststart und ffprobe auch installiert sein. Eine Überprüfung schadet aber nie.
    Nachdem alles funktioniert, kann das Programm gestartet werden.
    Einfach in den Video-Ordner den man überwachen will kopieren und starten. Ich habe eine kleine Kurzanleitung geschrieben, die die Bedienung erleichtern sollte. Die Anleitung bitte lesen
    Dem Programm liegt außerdem die Datei "AppleTV3" bei, die ich benutze um meine Videos zu konvertieren. Somit kann man sich gleich ein Bild machen.
    Um das File zu verwenden, muss jedoch im Programm im settings-Menü der entsprechende Dateiname angegeben werden.
    Viel Spaß
    P.S. leider bin ich nicht so oft im Forum unterwegs, deshalb kann es sein, dass ich auf eventuelle Fragen recht spät antworte...

    LG
    Angehängte Dateien Angehängte Dateien

  2. #2

    Standard

    Sorry für den Doppelpost, habe die Edit- Funktion aber nicht gefunden
    Bei einem Konsolenbefehl ist mir ein kleiner Fehler unterlaufen, war gestern ja auch schon spät ...
    Um sich ffmpeg downzuloaden muss man korrekterweise folgenden Befehl ausführen:

    git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

    in meinem Beitrag oben haben die ersten 2 Wörter gefehlt...

    LG

  3. #3

    Standard Diverse Fehlerbehebungen und Funktionserweiterungen

    Hey Leute...

    Hab das Programm ein bisschen auf Vordermann gebracht... Haben sich ja diverse Bugs eingeschlichen in der ersten Version...
    Folgendes hab ich hinzugefügt und ausgebessert:
    1) Mehr Optionen für Untertitel
    2) Bug fix: Nach dem beenden blieb die Datei "NUL" übrig
    3) Bug fix: Parameters die mit "NOT" spezifiziert wurden, wurden mitkonvertiert
    4) Bug fix: Videocodecs wurden u.U. nicht richtig gespeichert
    5) Funktionserweiterung: Man kann nun per Kommandozeile direkt mit mehreren Preference-Files starten:
    ./poisonconvert start [filename 1] [filename 2] [ ...]
    Die einzelnen Dateien werden nacheinander abgearbeitet.
    6) Ein paar prompts verändert
    7) Bug fix: Der Container wurde nicht richtig gesetzt, falls der Videostream nicht übereinstimmte
    8) Startet man das Programm mit "./poisonconvert version" wird die Programmversion ausgegeben
    9) Erweiterung: Falls eine Datei einen bestimmten Stream enthält (z.B. Audio-Stream) und der Benutzer eine Regel definiert hat zum Konvertieren eines (Audio-) Streams, jedoch der Stream nicht übernommen wurde (weil die Parameter nicht übereinstimmten), sodass die Zieldatei keinen (Audio-)Stream besitzt, wird folgendes zur Originaldatei hinzugefügt:
    "_nv" für nicht-vorhandenen Video-Stream, "_na" für nicht-vorhandenen Audio-Stream, "_ns" für nicht-vorhandenen Untertitel-Stream (In dieser Reihenfolge). Das ist vor allem dann nützlich, wenn eine Datei einen Stream besitzt, der einfach zu lange dauert zum Konvertieren für den ARM-Prozessor (z.B. h264). Dann kann man mittels Funktion 5) ein zweites Pref-File definieren, dass diesen Stream dann extrahiert um ihn dann auf einem anderen Gerät umzuwandeln.

    Bsp. zu Punkt 8: Man hat ein Video im .mkv-Format mit folgenden Parametern:
    Videocodec: h264, Audio: dts in deutsch und AC3 in Englisch.

    Man braucht ein Video im mp4-Format mit h264-Codec und deutscher AC3-Audiospur.

    dts nach Ac3 dauert bei mir fast 3 Stunden, deshalb extrahiere ich diesen Stream und
    anschließend verarbeite ich ihn am PC weiter...

    Das macht man auf folgende Weise:
    Man lässt PoisonConvert drüberlaufen und wandelt die dts-Spur nicht um, d.h. man sucht nur nach deutschen AC3-Streams. Das oben beschriebene Video hat aber nur einen deutschen
    dts-Audiostream, also wird das resultierende Video keine Audiospur haben und die Endung der
    alten Datei ist somit ".old_na".

    Vorher definiert man sich ein Preference-File, das nach Dateien mit dem Container .old_na
    sucht und extrahiert mittels geeigneten Einstellungen den dts-Streams um ihn dann auf einem anderen Gerät weiterzuverarbeiten.

    Poisonconvert startet man dann mit:
    ./poisonconvert start change_mp4 extract_dts

    Wobei "change_mp4" der Dateiname ist für das erste Pref-File und "extract_dts" ist der Dateiname
    für das zweite.


    Das wars

    Schönen Tag noch!
    Angehängte Dateien Angehängte Dateien

  4. #4
    Anwender
    Registriert seit
    05.12.2012
    Beiträge
    13

    Standard

    Hallo CutePoisonX,
    Zitat Zitat von CutePoisonX Beitrag anzeigen
    1) Installieren von ipkg auf der DS (darauf achten, das man das richtige bootstrap installiert und das "Herunterfahren-Skript"
    ordnungsgemäß angepasst ist)
    Welches "richtige" Bootstrap für den DS213 hast du genommen? Ich hatte bisher keinen Erfolg mit diversen Versionen.
    Und das "Herunterfahren-Skript" soll ordnungsgemäß angepasst werden -- welches, wie?

    Großen Dank für einen Hinweis,
    Werner.

  5. #5

    Standard

    Welches "richtige" Bootstrap für den DS213 hast du genommen? Ich hatte bisher keinen Erfolg mit diversen Versionen.
    Und das "Herunterfahren-Skript" soll ordnungsgemäß angepasst werden -- welches, wie?
    Anscheinend ist der Link zum Bootstrap den ich genommen habe tot. probiers mal mit der Seite:
    http://packages.quadrat4.de und befolge die Anleitung.

    Nach der Installation von ipkg kann es passieren, dass die DiskStation nicht herunterfährt. Am besten du befolgst Schritt-für-Schritt die Anleitung unter: http://www.synology-wiki.de/index.ph...tallation_IPKG.

    Btw: hab den Sourcecode von PoisonConvert auf github veröffentlicht, somit kann das Programm im Prinzip auf jeder DiskStation kompiliert werden. Es handelt sich dabei um eine aktuellere Version.
    Hier der link: https://github.com/CutePoisonX/PoisonConvert

    Der Thread dazu im Englischen Synology-forum: Thread

    Grüße

  6. #6
    Anwender
    Registriert seit
    05.12.2012
    Beiträge
    13

    Standard

    Lösung des Problems: ipkg für DS213

    http://www.synology-forum.de/showthr...Wer-hat-Erfolg

    Gruß,
    Werner.

  7. #7
    Anwender
    Registriert seit
    25.06.2018
    Beiträge
    1

    Standard

    Hi CutePoisonX ich habe deinen Threat gefunden und ein Problem in einem Zwischenschritt. Da das ganze recht speziell ist, habe ich auch nichts vergleichbares im Netz gefunden. Solltest du hier aktiv sein, bitte um kurz Meldung, dann kann ich dir das Problem schildern. Vielen Dank!

Ähnliche Themen

  1. Antworten: 36
    Letzter Beitrag: 20.10.2012, 12:16
  2. ffmpeg auf der NAS?!
    Von NilsG im Forum Sonstiges
    Antworten: 6
    Letzter Beitrag: 19.07.2012, 21:41
  3. Probleme mit dyndns automatische Aktualisierung der IP Adresse
    Von deirflu im Forum Netzwerkkonfiguration
    Antworten: 9
    Letzter Beitrag: 10.11.2009, 13:52
  4. Eigene Distri auf der Cubestation (ARM)
    Von Silicium im Forum Konfigurationsänderungen
    Antworten: 10
    Letzter Beitrag: 28.09.2009, 17:40
  5. Automatische Konvertierung nch mp4
    Von saeschu im Forum Geräte der +-Serie
    Antworten: 0
    Letzter Beitrag: 14.07.2008, 17:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •