Einzelnen Beitrag anzeigen
Ungelesen 26.06.18, 18:28   #9
Wornat1959
Profi
 
Registriert seit: Aug 2016
Beiträge: 1.856
Bedankt: 6.242
Wornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt PunkteWornat1959 leckt gerne myGully Deckel in der Kanalisation! | 2119272 Respekt Punkte
Standard

@Rasiererkönig:
Zuerst einmal in eigener Sache: Ich arbeite hier mit einem Linux-System. Da gehört die Kommandozeile zum täglichen Brot für mich. Unter Windows mag das anders aussehen. Aber ich hatte extra dabei geschrieben, das es ein Kommandozeilentool ist und so eben auf Nachfragen gehofft. Ich kann mir nicht die Pfade wo Dateien gespeichert sind aus den Fingern saugen, wenn dazu keine Angaben gemacht wurden.

@Kommandozeile:
Natürlich muss man in das passende Verzeichnis wechseln. Dazu gibts das Kommando "cd". Mir dem Kommando "dir" kann man sich das Verzeichnis anzeigen lassen. Näheres: siehe unten.

@ffmpeg:
Das ist eine Art Schweizer Taschenmesser für die Audio- und Videoverarbeitung und wird eben auch unter Windows genutzt. Normal gibts dann dazu ein Gui-Frontend wie meinetwegen Handbrake, welches aber nur einen Teil der Möglichkeiten abbildet die ffmpeg wirklich zu Verfügung stehen.
Eine grobe Erklärung was ffmpeg macht:
Zuerst wird demuxt. Das bedeutet das der Containerinhalt in sogenannte Streams intern aufgeteilt wird. Es gibt dabei Video-, Audio-, Untertitel-, und Verwaltungsdaten. Der hier verwendete Container war MPEG-TS, mit der Dateiendung ".ts". Der Videostream liegt wohl im Format HEVC (High Efficiency Video Coding - h265 - x265) vor wenn die Aussage von martinuss korrekt ist. Wenn ffmpeg jetzt die internen Daten nicht ändern soll kann gleich gemuxt werden. Dabei wird das neue Containerformat im Namen der Ausgabedatei über die Dateiendung angegeben. Also beispielsweise ".mkv". Es entstehen keinerlei Qualitätseinbussen, da die Daten einfach in den neuen Container kopiert werden.
Wenn ich jetzt die Daten selber ändern will muss zuerst decodiert werden und danach neu codiert. Dieser Vorgang findet nach dem Demuxen und vor dem Muxen statt. Nimmt man das Beispiel mit dem Videostream mit Codec x265 erkennt ffmpeg selber das Codec der Eingangsdaten und man muss nur das neue Format angeben in das codiert werden soll. Dabei kommt es zu Qualitätseinbussen.

@martinuss:
Dein Problem ist nicht das ".ts"-Dateiformat sondern eher das das Video mit x265 codiert wurde und bei der Grösse wahrscheinlich eine sehr hohe Bitrate anliegt. Das Ruckeln würde auch bei ähnlichen Dateien nicht weggehen, weil es eher an der Hardware liegt. Deswegen bringt dir auch ein reines Neumuxen des Containerns nicht viel. Drinnen liegt ja immer noch x265. Du wirst da wohl besser eine Umkodierung vornehmen. Du schreibst ja auch selber das deine Versuche in der Richtung nicht geholfen haben.



Wenn du jetzt ffmpeg nutzen willst musst du eine Kommandozeile öffnen und dann manuell alles eintippen.
Code:
cd Users\xxxxxx\Desktop
Dabei sind die x durch die richtigen Daten zu ersetzen.

Code:
dir
Zeigt dir das Verzeichnis an. Du solltest auch die Datei record.ts finden.

Los gehts mit ffmpeg.
Code:
ffprobe record.ts
Zeigt dir die interne Struktur des Containers. Das kannst du hier mal posten. Es hilft bei Problemen weiter.

Code:
ffmpeg -i record.ts -c:v libx264 -c:a copy record.mkv
Du sagst ffmpeg über den Schalter "-i" welche Datei es verarbeiten soll.
Du sagst ffmpeg über den Schalter "-c:v libx264" das ein neues Codec für die Videodaten genutzt werden soll. Es wird als codiert jetzt.
Du sagst ffmpeg über den Schalter "-c:a copy" das deine Audiodaten einfach in den neuen mkv-Container kopiert werden sollen. Beim Audio wird also nicht codiert.
Die Dateiendung ".mkv" legt das Zielcontainerformat fest.

Das Neucodieren wird wahrscheinlich bei der Größe sehr lange dauern. Liegt an deiner Hardware und was der Rechner sonst noch macht. Am besten in der Nacht mal durchlaufen lassen dann.

Code:
dir
Eine neue Datei "record.mkv" wird angezeigt.

Wenn du erst einmal einen Schnelltest willst der das Codieren deutlich schneller ausführt geht das auch. Allerdings wird die Ausgabedatei "record.mkv" dabei riesengross. Du kannst allerdings dann testen ob das Ruckeln weg ist.
ffmpeg benutzt dazu sogenannte Presets:
Zitat:
A preset is a collection of options that will provide a certain encoding speed to compression ratio. A slower preset will provide better compression (compression is quality per filesize). This means that, for example, if you target a certain file size or constant bit rate, you will achieve better quality with a slower preset. Similarly, for constant quality encoding, you will simply save bitrate by choosing a slower preset.

Use the slowest preset that you have patience for. The available presets in descending order of speed are:

ultrafast
superfast
veryfast
faster
fast
medium – default preset
slow
slower
veryslow
placebo
Also für den Schnelltest kannste "ultrafast" benutzen:
Code:
ffmpeg -i record.ts -c:v libx264 -preset ultrafast -c:a copy record.mkv

Geändert von Wornat1959 (26.06.18 um 19:03 Uhr)
Wornat1959 ist offline   Mit Zitat antworten
Die folgenden 2 Mitglieder haben sich bei Wornat1959 bedankt:
martinuss (04.07.18), schnitzelbe (01.04.19)