Jump to content

ts und mpeg mit RS über ffmpeg umwandeln


Recommended Posts

Posted

Hallo,

Ich möchte mit dem Rekordind Service, als Aufgabe, nach einer Aufnahme das MPEG bzw. TS Format in ein AVI Format umwandeln.
Dazu habe ich in der Konfiguration des Rekording Service eine Aufgabe erstellt und habe aus der Rekording Service Hilfe, folgenden CODE gefunden:

 

-i "{SOURCE_FILE}" -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -title "{TITLE}" -y "{PATH_FILENAME}.mp4"

Leider funktioniert das aber nicht, könnt ihr mir bitte bei dieser Sache weiterhelfen?

 

Eine Support Zip habe ich angehängt.

Danke

support.zip

Posted

Hallo

 

Ja, da habe ich auch den Code her, den ich oben angegeben haBE:

Posted (edited)

Probier das mal in einer Konsole. Dann sieht man evtl. eine Fehlermeldung. Kann sein einige der Parameter sind veraltet.

Zum Beispiel wuerde ich -maxrate weglassen und -b:v (Bitrate:video) verwenden.

 

Du kannst auch mal im svcdebug schauen ob es dort Fehlermeldungen gibt.

Edited by mague
Posted

Hallo

 

Könnt ihr mal bitte in die angehängte svcdebug.log gucken, ich versteh da nicht so viel von?

 

Danke

svcdebug.zip

Posted (edited)

mein (aktuelles) ffmpeg spuckt mir folgendes bei deinen oben genannten Befehl aus:

 

Unrecognized option 'title'.

 

Versuche daher mal:

-i "{SOURCE_FILE}" -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -y "{PATH_FILENAME}.mp4"

bzw.

-i "{SOURCE_FILE}" -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -metadata title="{TITLE}" -y "{PATH_FILENAME}.mp4"

 

 

Auch ist die Qualität von libfaac soweit mir bekannt nicht berauschend. Ich würde daher einmal etwas Aufwand investieren und ein ffmpeg mit libfdk_aac kompilieren. Das ist zwar aufwendig, aber eigentlich relativ unkompliziert. Ein Tagesaktuelles x264 bzw. libx264 fällt dabei auch gleich noch ab.

 

Auf Wunsch/Bedarf kann ich auch den Versuch einer Anleitung schreiben.

Edited by qupfer
Posted (edited)

Vielen Dank für die Hilfe

 

Die beiden Codes oben funktionieren leider beide nicht. Es muss doch sofort eine mp4 Datei entstehen, nicht war?

Es wird doch nicht nach einer Aufnahme umgewandelt, sondern "on the fly" stimmts?

Mit den Codes oben schreibt er sofort ts Dateien.

 

Das Problem ist, das meine Tochter ihre Serien auf einem Samsung Galaxy Tab 1 guckt. Leider ruckelt es bei ts und mpg weil das Wlan es nicht schafft, so große Dateien auf das Tab zu schieben, deshalb quängelt meine Tochter und das kann ganz schön weh tun.

 

Ich muss es irgendwie ohne viel Aufwand schaffen ihre Serien so zu verkleinern, das es nicht mehr ruckelt.

 

Avi und mp4 Dateien ruckeln nicht. Die Qualität muss nich so perfekt sein, es reicht, wenn es auf dem kleinen 7 Zoll Display gut zu sehen ist.

 

P.S.

Ich habe die Option Arbeitsverzeichnis leer gelassen, weil ich gelesen habe, das dass Optional ist und nicht ausgefüllt werden muss, ist das richtig?

Edited by ercuem
Posted (edited)

Benutz doch die Android App und das transcodierte Streaming.

 

Dann einfach eine Qualität auswählen die über wlan noch läuft. Bei mir läuft das ohne Probleme...

 

edit: klingt so als will ich hier werbung machen, aber das sollte es nicht sein ;-) Die App kennt nicht jeder, weil das ja nirgends prominent zu finden ist ;-)

Edited by VinoRosso
Posted (edited)

Hallo

 

Danke für die Antwort,

Die Idee mit der App ist sehr gut, leider kann man mit der App die Aufnahmen nicht gruppieren, so dass meine Tochter auch Kontakt mit meinen Aufnahmen haben könnte.
So, dass wenn sie ihre Sendungen angeguckt hat, sie aus Langeweile, meine Sendungen angucken könnte und diese Sendungen sind nicht immer kindgerecht.
Deshalb wäre die direkte Codierung ihrer Sendungen meiner Meinung nach besser.

 

Ein weiterer Nachteil ist glaube ich, das der PC an sein muss um die Aufnahmen anzugucken.

Edited by ercuem
Posted

Okay dann passt das leider nicht für deine Anforderungen.

 

aber wenn es nur darum geht die Dateien aufs Tablet zu bringen, sollte es doch per usb keine Probleme geben, oder?

Ist dann halt weniger komfortabel, aber das umwandeln sollte nicht nötig sein.

Posted

Hallo

 

Hast Du schon mal täglich mehrere Gigabyte per USB übertragen?

Posted

Also langsamer als über wlan ist es nicht, das hast du doch auch probiert ;-)

Posted (edited)

Vielen Dank für die Hilfe

 

Die beiden Codes oben funktionieren leider beide nicht. Es muss doch sofort eine mp4 Datei entstehen, nicht war?

Es wird doch nicht nach einer Aufnahme umgewandelt, sondern "on the fly" stimmts?

 

Bei mir gehts, und nein, es wird erst nach der Aufnahme konvertiert.

 

-i "{SOURCE_FILE}" -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -y "{PATH_FILENAME}.mp4"

 

Wenn es sich um ein 7 Zoll GalaxyTap1 handelt, ist eventuell auch folgende Anpassung sinnvoll:

-i "{SOURCE_FILE}" -c:v libx264 -b:v 1500k -c:a libfaac -s 1024x576 -ab 112k -ar 48000 -ac 2 -y "{PATH_FILENAME}.mp4"

 

Anstelle der Bitrate könntest du auch mit dem heute eher gebröuchlichen "crf" Werten rumspielen. Wobei je höher der CRF-Wert, desto schlecht die Qualität.

-i "{SOURCE_FILE}" -c:v libx264 -crf 23 -c:a libfaac -s 1024x576 -ab 112k -ar 48000 -ac 2 -y "{PATH_FILENAME}.mp4"

Edited by qupfer
Posted (edited)

Hallo

 

Danke für die ausführliche Antwort.

 

Bei mir funktioniert es leider nicht, ich habe jetzt versucht deinen Code über eine bat file zu testen:

 

ffmpeg -i input.ts -vcodec libx264 -maxrate 1500k -acodec libfaac -ab 112k -ar 48000 -ac 2 -y "{PATH_FILENAME}.mp4"
pause

 

Dann sagt er "Unknown encoder 'libfaac'"

 

Es ist nur der ffmpeg Decoder in diesem Ordner. Muss ich da auch diesen libfaac reintun, wenn ja wo bekomme ich den her?

Edited by ercuem
Posted (edited)

Du "musst" entweder ein geeignetes ffmpeg finden oder selber kompilieren. Auch wenn es umständlicher ist, empfehle ich wie gesagt letzteres. Zum einen kann man so das mittelmäßige libfaac duch das deutlich bessere libfdk_aac ersetzen und bekommt auch den tagesaktuellen x264 Encoder.

 

Zum Testen kannst du aber hier ebenfalls ein aktuelles ffmpeg bekommen und ggf. libfaac durch libvo_aacenc ersetzen. Sollte erstmal was "erstellen".

 

mal sehen ob ich auf die schnelle da was verständliches hinbekomme, also etwas geduld^^

Edited by qupfer
Posted

Hallo

 

Vielen Dank für Deine Hilfe

 

Bitte mach Dir nicht die Mühe

 

Ich habe mirt diesem tool:

 

http://www.chip.de/downloads/FFmpeg_35368574.html

 

Den richtigen Code zusammen basteln können, jetz muss ich nur noch gucken, welches Qualitätsverhältnis das beste ist, für das Galaxy Tab 1, 7 Zoll

 

Zur Zeit hat er mir das hier raus gegeben und es funktioniert:

 

"C:\Program Files (x86)\WinFF\ffmpeg.exe" -y -i "X:\Aufnahmen\input.ts" -f mp4 -r 29.97 -vcodec libx264 -preset slow -vf scale=640:480 -b:v 1000k -aspect 4:3 -flags +loop -cmp chroma -b:v 1250k -maxrate 1500k -bufsize 4M -bt 256k -refs 1 -bf 3 -coder 1 -me_method umh -me_range 16 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec

 

Wie gesagt, muss ich jetzt heraus finden, was die besten Einstellungen sind.

 

Vielen Dank für Deine Hilfe

Posted

Wie gesagt, muss ich jetzt heraus finden, was die besten Einstellungen sind.

 

Machs am besten nicht so kompliziert....

 

ffmpeg.exe -y -i "input.ts" -preset slow -tune film -profile high -crf 23 -s 1024x576 -aspect 16:9 -c:v libx264 -c:a libvo_aacenc "output.mp4" (müsste für ein 7 zoll galaxy tap Gen 1 passen)

Posted (edited)

Deine Einstellungen passen wirklich sehr gut, die werde ich nehmen.

 

Vielen Dank, du hast mir sehr geholfen.

Edited by ercuem
Posted

Eine Sache habe ich jetzt doch noch.

 

RS behält ja die Ts und mpeg Dateien, kann man das so ändern, dass er die nach dem Konvertieren löscht?

Posted (edited)

Ja kann man ;)

 

 

Batch Laden und irgendwo hin kopieren. Die ist zwar nicht schön, aber selten ;D Dann RS-Aktion entsprechend konfigurieren.

 

Natürlich auf eigene Gefahr...in der Status.txt kann man den aktuellen Zustand ablesen. Soll der Status ebenfalls hinterher gelöscht werden, einfach noch ein

del "%Pfad%Status.txt"

mit rein. Soll gar kein Status ausgegeben werden, folglich einfach

1> "%Pfad%Status.txt" 2>&1

aus der Batch entfernen.

 

Edit: Wenn ffmpeg schief geht, wird aktuell noch gelöscht....unwiderruflich. Also entweder noch etwas gedulden oder erstmal das "del" entfernen ;)

Edited by qupfer
Posted (edited)

Das "del %1" ist mir zu heikel, habs mal rausgenommen und anstelle wirds Original nur umbenannt in alt_blabla.

Wenn mir jemand sagt, wie der korrekte Syntax zum verschieben in den Papierkorb ist, kann man ja auch das machen. Meine Batch-Erinnerungen sind halt auch schon gute 10 Jahre alt^^

 

Und achja, der Audiocodec muss natürlich noch an den in der jeweiligen ffmpeg vorhandenen angepasst werden.

Edited by qupfer
×
×
  • Create New...