Wie konvertiere ich WTV- (und DVR-MS-) Dateien in ein kleineres Standardformat?

7

Die externe Festplatte meines HTPC ist fast voll, und ich muss eine große Anzahl der vom Fernseher aufgenommenen Filme (im WTV-Format) in etwas kleinere konvertieren. Derzeit ist ein 2-Stunden-Film etwa 3-4 GB groß.

Ich habe versucht, die WTV-Datei in DVR-MS umzuwandeln (mit der eingebauten wtvconverter.exe ) und dann mit der folgenden Befehlszeile durch das Handbrakecli laufen:

handbrakecli.exe --input "film.dvr-ms" --output "film.mp4" --encoder x264 --quality 20

In Handbrake würde dies bedeuten, dass der Ausgang auf MP4, der Encoder auf x264 und die Qualität auf 20 eingestellt werden.

Das Problem ist, dass die resultierende MP4 zwischen 1,5 und 2 GB liegt, was, obwohl sie kleiner als die Originaldatei ist, immer noch für einen 2-stündigen SD-Film, der auf einem (PAL-) Fernsehgerät aufgenommen wurde, noch immer verrückt erscheint! Ich würde erwarten, dass so etwas 700-800 MB ist, wenn nicht weniger.

Wenn Sie die Qualität auf 19 einstellen, wird das Bild bis zu einem Punkt beeinträchtigt, an dem es nicht mehr möglich ist.

Kann jemand Einstellungen für Handbrake (oder Handbrakeecli) empfehlen, die eine DVR-MS-Datei in eine viel kleinere Größe konvertieren?

(Ich bin hinsichtlich des Codecs oder des Containers nicht besonders wertvoll, würde aber einen angemessenen Standard vorziehen, um sicherzustellen, dass er auf einer großen Anzahl von Computern und mobilen Geräten angesehen werden kann.)

AKTUALISIEREN

Es ist wahrscheinlich nicht klar, aber wenn Sie nur wissen, was die Einstellungen zum Konvertieren einer Datei mit der grafischen Version von Handbrake sind, ist dies eine absolut gute Antwort!

Richard
quelle

Antworten:

8

Bitte beachten Sie: Als diese Antwort geschrieben wurde (Juli 2012), konnte ffmpeg keine WTV-Dateien ohne Audioverlust konvertieren. Das Testen von ffmpeg 4.0.0 hat jedoch gezeigt, dass es jetzt einwandfrei funktioniert und daher nicht verwendet werden muss wtvconverter.exe Um die WTV-Datei in DVR-MS vorzuwandeln. So wie:

ffmpeg -i "input.wtv" -y -filter:v yadif -vcodec libx264 -crf 23 "output.mp4"

sollte deine Fernsehaufnahme umwandeln.

Originalantwort unten

Nach einigen Recherchen stellt sich heraus, dass:

  1. Handbremse ist nicht das beste Werkzeug, das Sie verwenden sollten ffmpeg stattdessen.
  2. Wenn Sie ffmpeg verwenden, müssen Sie das DVR-MS-Format (und nicht das WTV-Format) als Quelldatei verwenden. Andernfalls erhalten Sie keinen Ton.

Sie müssen einige Schritte durchführen, zuerst von WTV in DVR-MS umwandeln:

%WINDIR%\ehome\wtvconverter.exe "Recorded TV Show.wtv" "Recorded TV Show.dvr-ms"

Dann konvertieren Sie diese DVR-MS-Datei in H.264 / MPEG-4 AVC. Du kannst ändern -crf 23 - höhere Zahlen bedeuten geringere Qualität, gesunde Werte liegen zwischen 19 und 25

ffmpeg -i "Recorded TV Show.dvr-ms" -y -filter:v yadif -vcodec libx264 -crf 23 "Recorded TV Show.mp4"

Dann löschen Sie die temporäre DVR-MS-Datei:

del /F "Recorded TV Show.dvr-ms"

Nach der Konvertierung zeigt VLC die folgenden Details zu "Recorded TV Show.mp4":

enter image description here

Die konvertierte Datei hat jetzt 530 MB (von 1,59 GB) für 1 Stunde und 50 Minuten SD-Inhalt. Dies bedeutet, dass es ungefähr 1/3 der Größe der ursprünglichen WTV-Datei ist.

Richard
quelle
Zusätzliche Informationen zum Ändern der Qualität, falls erforderlich.
slhck
Sehr hilfreich. Ich habe auch herausgefunden, dass Sie kein Video (mit -filter:v yadif ) Wenn es nicht bereits interlaced ist, wird die Qualität sonst schlechter. Es gibt eine Frage Hier wenn Leute herausfinden wollen, ob die aufgezeichnete Datei de-interlacing ist oder nicht.
Richard
Yup - so habe ich diesen Beitrag trotzdem gefunden :)
slhck
2

Ich konnte ffmpeg dazu bringen, den Trick auszuführen, brauchte aber einige Zeit, um die richtigen Schalter zu finden. Ich bin nicht sicher, ob diese Einstellungen optimal sind, und die Konvertierung dauert viel länger.

ffmpeg -y -threads 8 -i pbsvideofile.wtv -target pal-dvd -deinterlace -async 48000  pbsvideofile.mpg 
suken
quelle
todayiwantedtoprogram.tumblr.com/post/15142587796 hat eine gute Beschreibung, was -target pal-dvd macht. Es ist erwähnenswert, dass die Video-Bitrate auf ziemlich hohe 6Mbps eingestellt wird!
Richard
Dies wäre großartig, wenn es funktioniert, weil dadurch die Zwischendatei vermieden wird, die erstellt, auf die Festplatte geschrieben und gelöscht wird.
Andrew Mao
Spätere Versionen von ffmpeg können zwar direkt von WTV in H.264 / MPEG-4 AVC konvertiert werden, aber die Version, die ich bei der Frage verwendet habe, ergab keinen Ton - daher der (etwas nervige) Mittelschritt!
Richard
1

Basierend auf der Antwort von @ suken konnte ich eine Stapelkonvertierung durchführen. Mit der damals verwendeten Version von ffmpeg funktionierte es direkt von .wtv bis .mp4.

gci 'D:\Recorded TV\*' -include('*lola*','*buzzcocks*') | % {
    $file = $_.Name
    .\ffmpeg -i $_ -vcodec copy -acodec copy -f dvd -deinterlace -map_metadata 0 "D:\Media\TV\$file.mp4"
}

In obigem:

  • "D: \ Recorded TV" ist der Quellort
  • "D: \ Media \ TV" ist der Zielort
  • Es wird gefiltert, um nur Shows mit "lola" und "buzzcocks" in den Dateinamen aufzunehmen (Sie können dies herausnehmen, wenn Sie möchten)

Der Befehl versucht, die Metadaten zu übertragen (z. B. Titel und Beschreibung anzeigen), schien jedoch nicht in der Zieldatei aufzugreifen. Du könntest es versuchen WTV-MetaRenamer zuerst stattdessen.

Alex Angas
quelle