Jump to content

Konvertierung nach Aufnahme


Recommended Posts

Hallo,

Ich bin erst seit 1 Woche Benutzer des DVBViever und nehme seither damit meine Sendungen über eine DigitalDevices Octopus auf.

Das funktioniert alles inzwischen ganz brauchbar!

 

Nun habe ich entdeckt, dass es die Möglichkeit gibt, Aufnahmen nachher direkt mit dem Media Server zu konvertieren.
Allerdings sind diese konvertierten Files mir der default angebotenen nicht viel kleiner als die original *.ts Dateien.

 

Da ich viele der Aufnahmen gerne möglichst klein und ohne Qualitätsverlußt aufheben möchte hab ich sie vor meinem Umstieg immer mit AviDemux nach gewissen Vorgraben verkleinert. Damit hab ich die *.ts Files auf ca. 50% runtergebracht ohne einen sichtbaren Qualitätsverlußt zu haben.

 

Nun zur Frage:
Kann man die nach der Aufnahme angebotene automatische Konvertierung irgendwo einstellen ?

Oder kann ich vielleicht den AviDemux da irgendwie einbinden?

Ich hab mir das Handbuch schon angesehen, aber zu dieser automatischen Konvertierung hab ich noch keine Doku gefunden!

Link to comment
vor 5 Stunden schrieb pblacky:

Kann man die nach der Aufnahme angebotene automatische Konvertierung irgendwo einstellen ?

 

Du kannst sie modifizieren, wenn du dich mit FFmepg auskennst, das die Transkodierung durchführt. Starte die Media Server-Optionen (SvcOptions.exe), wähle "Aufgaben" und z.B. "Generate MP4/MP3". Klicke dann auf "Anzeigen". Es erscheint der Aufgaben-Editor und zeigt die an FFmpeg übergebenen Kommandoparameter. Wenn du sie im Aufgabeneditor modifizieren willst, musst du SvcOptions.exe mit Adminrechten starten.

 

Zusätzlich zu Kommandoparametern kannst du in der Aufgabendefinition Platzhalter und Bedingungen in geschweiften Klammern und Großbuchstaben verwenden. Hilfen dazu gibt es im Aufgaben-Editor selbst (auf "Platzhalter" klicken, beim Überstreichen mit der Maus gibt es ein Beispiel als Hinweis)), im Wiki sowie im Webinterface -> Links -> Media Server Versionshinweise. Suche dort mit der Browser-Suchfunktion (Strg+F) nach {IF BEDINGUNG}

 

Soviel erst mal in Kürze... wenn etwas unklar ist, fragen.

 

vor 5 Stunden schrieb pblacky:

Oder kann ich vielleicht den AviDemux da irgendwie einbinden?

 

Wenn du dich gut damit auskennst, wie AviDemux über Kommandoparameter gesteuert wird, kannst du vermutlich eine entsprechende Process Task erzeugen.

 

  • Like 1
Link to comment

Ich hab kein Problem, wenn die Konvertierung mit FFMPEG gemacht wird.
Hab da mal reingesehen, aber das ist mit etwas zu hoch um da selbst Hand anzulegen ohne mich auszukennen ;-(

Der Syntax ist relativ durchschaubar, aber die Konvertier Parameter sind mir zu hoch!

 

Die voreingestellte Konvertierung "Generate MP4/MP3" funktioniert zwar, aber die konvertierten Files, sind bei mir nicht viel kleiner als die Aufnahmen des Original *.ts Stream!

Mit Avdemux konnte ich bis jetzt immer so ca. 50% runterkonvertieren ohne sichtbaren Qualitätsverlußt!

Ich hatte gehofft, dass hier jemand ein paar weitere sinvolle Konvert Einstellungen mit FFMPEG verwendet uns sie vielleicht teilen möchte?
 

Ist aber vorerst kein Proiblem, denn meine alte Konvertierroutine ist noch aktiv, also wird das Platz 99 in meiner 1000 Seitigen ToDo Liste mit dem DVBV 😉

Link to comment
vor 1 Minute schrieb pblacky:

Die voreingestellte Konvertierung "Generate MP4/MP3" funktioniert zwar, aber die konvertierten Files, sind bei mir nicht viel kleiner als die Aufnahmen des Original *.ts Stream!

 

Das liegt daran, dass die Videodaten nicht konvertiert, sondern kopiert werden, also nahezu 1:1 von TS nach MP4 übernommen werden, damit es schnell und ohne Qualitätsverluste über die Bühne geht. Konvertiert wird nur MPEG2 Video, und zwar nach H.264, weil MPEG2 im MP4-Container ungebräuchlich ist. "Generate MP4/MP3" zielt hauptsächlich darauf ab, mit dem Media Server Aufnahmen auf Mobilgeräte zu streamen, die mit TS meistens nichts anfangen können. MP4 mit H.264 Video spielen dagegen sogar Browser ab.

 

Angesichts der aktuellen Festplattenpreise lohnt es sich kaum noch, Aufnahmen kleiner zu machen. Bei 100 € für eine externe 4 TB-Platte bezahlst du pro GB 2,5 Cent...

 

Link to comment
Posted (edited)
vor 8 Minuten schrieb Griga:

Angesichts der aktuellen Festplattenpreise lohnt es sich kaum noch, Aufnahmen kleiner zu machen. Bei 100 € für eine externe 4 TB-Platte bezahlst du pro GB 2,5 Cent...

 

Ja da hast du recht!
Außer du möchtest sie auf einem Handy oder Tablett unterwegs offline mithaben und hast nur 128 GB Speicher gekauft 😉 
Ich werd mal mit dem alten System weiter konvertieren und mir das später mal genauer ansehen.....

Danke jedenfaslls für deine vielen Tipps hier, das erleichtert mir den Einstieg!!

 

Edited by pblacky
Link to comment

Da bräuchtest du dann ein Handy oder Tablet, das Videos von einer externen Festplatte abspielen kann...

 

Vielleicht hilft es dir weiter, in der Datei C:\Program Files (x86)\DVBViewer\config\ffmpegprefs.ini oder auch iphoneprefs.ini nachzuschauen, wie die FFmpeg-Parameter für die Konvertierung von Live Streams und Dateien für die Wiedergabe im Browser aussehen. Da wird nämlich wirklich konvertiert, um eine bestimmte Auflösung und Zielbitrate zu erreichen. Die Teile in geschweiften Klammern sind wieder Variablen, für die der Media Server etwas einsetzt - was genau, siehst du im svcdebug.log, nachdem du eine Wiedergabe im Browser veranlasst hast.

 

Link to comment
Am 4.5.2024 um 12:00 schrieb Griga:

Vielleicht hilft es dir weiter, in der Datei C:\Program Files (x86)\DVBViewer\config\ffmpegprefs.ini oder auch iphoneprefs.ini nachzuschauen, wie die FFmpeg-Parameter für die Konvertierung von Live Streams und Dateien für die Wiedergabe im Browser aussehen.

DAS werd ich mir bei Gelegenheit mal reinziehen und dann melde ich mich wieder, DANKE!

Link to comment
Posted (edited)

Hallo,

 

@pblacky: In welches Format möchtest Du denn mit Ffmpeg konvertieren? Ich rekordiere öfters Aufnahmen mit einer Batchdatei mit Ffmpeg in MPEG für unseren Flat-TV. Dabei kann ich in der Batchdatei die mit MPC-HC bzw. VLC festgestellten Werte für den Vor- und Nachlauf eingeben und so ca. 2x10 Minuten wegschneiden.

 

Im Internet gibt es auch in Deutsch leidlich brauchbare Anleitungen für Ffmpeg.

 

 

Viele Grüße

 

Webturtle

 

Edited by Webturtle
Link to comment
vor 7 Stunden schrieb Webturtle:

 In welches Format möchtest Du denn mit Ffmpeg konvertieren?

 

Ich konvertiere die erstellten Aufnahmen derzeit noch mit einer Batch über Kommandline mit AviDemux. Hab gerade mal nachgesehen, weil ich meinen Konvertier Settings schon vor einigen Jahren mal ausdefiniert und seither nicht mehr verändert habe.

Media Info hat bei einer bereits konvertierten Datei folgendes ausgespuckt:

Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format-Profil                            : High@L3
Format-Einstellungen                     : CABAC / 4 Ref Frames
Format-Einstellungen für CABAC           : Ja
Format-Einstellungen für RefFrames       : 4 frames
Codec-ID                                 : H264
Dauer                                    : 1 h 1 min
Bitrate                                  : 1 091 kb/s
Breite                                   : 768 Pixel
Höhe                                     : 432 Pixel
Bildseitenverhältnis                     : 16:9
Bildwiederholungsrate                    : 25,000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scantyp                                  : progressiv
Bits/(Pixel*Frame)                       : 0.132
Stream-Größe                             : 483 MiB (86%)
verwendete Encoder-Bibliothek            : x264 core 152 r2854 e9a5903
Kodierungseinstellungen                  : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x133 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

 

Ich würde mir gerne den "Extraschritt" über das Batch mit AviDemux ersparen!?

Kann man das auch über FFMPEG automatisch NACH einer Aufnahme machen?

Link to comment
vor 40 Minuten schrieb pblacky:

Ich konvertiere die erstellten Aufnahmen derzeit noch mit einer Batch über Kommandline mit AviDemux.

 

Lass doch mal die Batch sehen! Vielleicht kann man sie einfach als Process Task verwenden. Eine solche Task kann natürlich auch eine Batchdatei ausführen. Im Grunde müsste man ihr nur die Quelldatei mittels der Variablen {SOURCE_FILE} übergeben.

 

Link to comment
Posted (edited)
vor 14 Stunden schrieb Griga:

 

Lass doch mal die Batch sehen!

 

Gerne!

@echo off
set "Z_Pfad=V:\1 - Videobibliothek\0 - NEU"
set "Q_Pfad=V:\4 - AutoConvert"
if not exist "%Q_Pfad%\*.ts" goto end

rem Rufzeichen entfernen
powershell -EP Bypass -C "Get-ChildItem -LiteralPath '%Q_Pfad%' -File -Filter '*!*.ts' | rename-item -NewName {$_.Name -replace '!'} -verbose"  

if not exist "%Z_Pfad%" md "%Z_Pfad%"
for %%f in (*.ts) do (
	echo y | "p:\PortableApps\AvidemuxPortable\App\Avidemux32\avidemux_cli.exe" --load "%%f" --run "AviDemux_16zu9.py" --save "%Z_Pfad%\%%f.mkv"
)
:end

 

Allerdings muss ich das Batch im Selben Ordner, wie die Videofiles anspeichern, da ich AviDemux bis jetzt nicht dazu bringen konnte mit Pfaden zu den Videofiles zu arbeiten. Außerdem kann sie mit Rufzeichen im Dateinamen nicht umgehen, daher muss ich diese im Batch auch vorher entfernen. Den Powershell Teil hab ich mir aus diversen Foren zusammengesucht, aber es funktioniert....

 

Es sind viele Kleinigkeiten, die eine neue Lösung sicher beseser kann!

Deshalb bin ich auch sehr interessiert daran, das möglichst mit den DBViewer Boardmitteln zu machen, da es voraussichtlich stabiler laufen wird !?

Aber grundsätzlich freue ich mich über jede Lösung, die wenig händischen Befassungsaufwand hat 😉

Edited by pblacky
Link to comment
Posted (edited)
Am 7.5.2024 um 10:25 schrieb pblacky:

Allerdings muss ich das Batch im Selben Ordner, wie die Videofiles anspeichern, da ich AviDemux bis jetzt nicht dazu bringen konnte mit Pfaden zu den Videofiles zu arbeiten.

 

Das macht die Sache umständlich. Und dass die Batch die zu bearbeitende Aufnahme nicht als Kommandoparameter empfängt.

 

Für eine Process Task müsste sich die Batch in einem bestimmten (immer dem selben) Verzeichnis befinden. Und sie müsste als erstes die als Kommandoparameter übergebene Aufnahme in ihr eigenes Verzeichnis verschieben/kopieren (was per Batch nicht besonders schwierig ist), bevor sie ihren eigentlichen Job ausführt. Wenn sie das tun würde, könnte die Task nach Start der Media Server-Optionen mit Adminrechten (geht auch über das Tray Menü) -> Aufgaben -> Neu im Aufgaben-Editor eingegeben werden.

 

[Teil gelöscht, da so wie angegeben nicht funktionsfähig. Korrektur siehe unten]

 

Edited by Griga
Ergänzung, Teil gelöscht
Link to comment

So, jetzt habe ich es raus, wie eine Batch als "Aufgabe nach Aufnahme" ausgeführt werden kann... hat gedauert, weil die Behandlung von Leerzeichen in als Kommandoparameter übergebenen Pfaden dabei höchst tückisch ist.

 

Ich habe eine Datei D:\Transfer\Test Ordner\Test.bat mit folgendem Inhalt:

 

echo on
copy %1 "D:\Transfer\Test Ordner"

 

Diese soll eine Datei, deren Pfad\Name der Batch als Kommandoparameter übergeben wird, nach Test Ordner kopieren. %1 steht hier für den ersten übergebenen Kommandoparameter. Man kann sofort probieren, ob das klappt, indem man eine beliebige Datei mit der Maus auf die Batch-Datei zieht. Windows übergibt sie dann als Kommandoparameter.

 

Nun die Process Task, die den Start von Test.bat und das Kopieren einer Aufnahme in den Test Ordner veranlasst. So wird sie in den Aufgaben-Editor eingegeben:

 

Zwischenablage01.png

 

Die wesentlichen Punkte

  • Um in den Aufgaben-Editor etwas eingeben zu können, müssen die Media Server-Optionen (SvcOptions.exe) mit Admin-Rechten gestartet werden. Das geht auch über das Tray-Menü ("Mit Admin-Rechten konfigurieren"). Danach Aufgaben -> Neu anwählen (oder Bearbeiten, falls eine bereits existierende Aufgabe geändert werden soll). Nach zweimal OK ist die Aufgabe gespeichert und lässt sich bei der Timerprogrammierung als "Aufgabe nach Aufnahme" auswählen.
  • Als Dateiname wird cmd.exe mitsamt Pfad angegeben, also der Kommandoprozessor, der die Batch ausführen soll.
  • Als Parameter wird  /C übergeben, das die Ausführung der nachfolgenden Parameter durch cmd.exe veranlasst. Darauf folgt der Pfad\Name der Batch sowie der Platzhalter {SOURCE_FILE}, für den der Media Server den Pfad\Name der Aufnahme einsetzt. Er wird wiederum der Batch als Kommandoparameter übergeben. Zu beachten ist hier, das alles zusammen, was auf /C folgt, in Anführungszeichen eingeschlossen werden muss, wenn Leerzeichen vorkommen, und zusätzlich jeder Kommandozeilenparameter einzeln, der Leerzeichen enthalten könnte. Deshalb

/C ""D:\Transfer\Test Ordner\Test.bat" "{SOURCE_FILE}""

  • Als Prozesspriorität ist "niedrig" zu empfehlen, damit das Kopieren und die Konvertierung nicht andere Abläufe im PC behindert, z.B. weitere laufende Aufnahmen.

Du müsstest jetzt eigentlich nur das Kopieren der Aufnahme in deine Batch integrieren und mit ihr entsprechend verfahren. Möglich wäre auch, die Aufnahme in den Zielordner zu verschieben, wenn sie sich auf dem selben Laufwerk befindet. Aber es wäre nicht nett gegenüber dem Media Server, der die Aufnahme ja bereits in seiner Aufnahme-Datenbank vermerkt hat. Der Eintrag zeigt dann ins Leere.

 

Link to comment

Hallo @Griga
War gerade eine Woche auf Urlaub und habe soeben deinen Tipp gefunden.
Super perferkt beschrieben, werde es in den nächsten Tagen gleich mal ausprobieren!
Vielen Dank!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...