ubuntuusers.de

Konvertiertes Video am Ende ohne Ton - geeignete Kompression finden

Status: Gelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

UlfZibis

(Themenstarter)

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

Ich hab' jetzt auch mal probiert:

ffmpeg -i "concat:..." -c copy out.mpg

Heraus kommt eine 4,2 GB Datei wie erwartet. Mit Totem lässt sie sich einwandfrei abspielen, nicht aber mit VLC ... Die Sprünge und Aussetzer im Bild sind zwar weg, aber vom Ton kommt nur unregelmäßig so alle 33-60 Sek. ein ca. 0,5 Sek.-Ausschnitt, also quasi ein Stummfilm mit ein paar Knacksern. Außerdem brachte VLC ungefähr an der Stelle, wo beim allerersten Versuch der Ton aussetzte, den Rechner zum Einfrieren, kam aber nur einmal vor. Nun ja, damit sind wir mal wieder ein Stück weiter, aber wie kriege ich die Tonfehler gebügelt?

archy

Anmeldungsdatum:
24. November 2009

Beiträge: 1920

hallo UlfZibis,

ich denke ohne Umcodieren bekommsst du die Fehler nie weg. Du warst schon mal so weit ...

Das Resultat ist jetzt 1,1 GByte groß. Es hat augenscheinlich eine perfekte Qualität, keine Aussetzer, Ruckler etc. mehr und auch das Zeilenzittern ist fast weg, also ein super Ergebnis.

Für mich ist das damit erledigt, du darfst aber gerne weiter probieren, du kannst nur lernen dabei

so long

archy

UlfZibis

(Themenstarter)

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

archy schrieb:

> ffmpeg -i "concat:..." -c copy out.mpg"

Wenn du erzwingen willst, dass nicht codiert wird ( dann werden aber wahrscheinlich auch die Fehler nicht behoben ), dann gibt es die Optionen "vcodec" und "acodec" die du jeweils auf "copy" stellen kannst, dann sollte der Stream im selben Format wieder eingefügt werden. Lass ausserdem mal die Option -q weg.

ffmpeg -i "concat:..." -vocodec copy -acodec copy output.mpg

Danke für den Tipp, aber ist das nicht dasselbe wie -c copy?

FFMPEG ist ein sehr mächtiges, aber auch ein sehr komplexes Tool, da hilf nur lesen, nach Tutorials im Netz suchen und probieren. Es ist mir auch nicht ganz klar was du jetzt noch erreichen willst. Du hast mit dem ersten Befehl ein Video erhalten, dass von guter Qualität ist, wie du selbst sagst, und von 4,2 GB auf 1,1 GB eingedampft ist, wozu also weitermachen.

Mein Ansatz war, erst mal eine möglichst unveränderte, aber fehlerbefreite Kopie zu haben, und darauf erst mal Filter anzuwenden (z.B. die von VLC), die das Zeilenzittern und die VHS-Fehlerstreifen am unteren Rand ausbügeln, und danach erst besser komprimierte Versionen zu erzeugen.

Ich habe nun mit:

ffmpeg -i CYD_copy.mpg -c:v copy -c:a libmp3lame -b:a 160k CYD_mpeg2-copy_mp3.mpg

ein brauchbares Resultat erzielt. Wie es aussieht, wurden dabei die Fehler im Audio-Stream korrigiert:

Input #0, mpeg, from 'CYD_copy.mpg':
  Duration: 01:19:53.60, start: 0.540000, bitrate: 6930 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 704x576 [SAR 12:11 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (ac3 (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[mpeg @ 0x560dfe257fa0] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'CYD_mp3.mpg':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 704x576 [SAR 12:11 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 160 kb/s
    Metadata:
      encoder         : Lavc57.107.100 libmp3lame
frame=  130 fps=0.0 q=-1.0 size=    4408kB time=00:00:05.12 bitrate=7052.8kbits/
frame=  248 fps=247 q=-1.0 size=    8226kB time=00:00:09.84 bitrate=6848.3kbits/
[mpeg @ 0x560dfe257fa0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
frame=  359 fps=239 q=-1.0 size=   12176kB time=00:00:14.28 bitrate=6985.0kbits/
frame=  470 fps=234 q=-1.0 size=   16242kB time=00:00:18.72 bitrate=7107.6kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 1881448, current: 1880730; changing to 1881449. This may result in incorrect timestamps in the output file.
frame=  582 fps=232 q=-1.0 size=   20522kB time=00:00:23.16 bitrate=7256.4kbits/
frame=  693 fps=230 q=-1.0 size=   24778kB time=00:00:27.60 bitrate=7352.3kbits/
frame=  778 fps=221 q=-1.0 size=   28492kB time=00:00:31.00 bitrate=7527.3kbits/
frame=  887 fps=221 q=-1.0 size=   32820kB time=00:00:35.36 bitrate=7601.8kbits/
frame=  974 fps=215 q=-1.0 size=   36718kB time=00:00:38.84 bitrate=7742.8kbits/
frame= 1116 fps=222 q=-1.0 size=   40518kB time=00:00:44.52 bitrate=7454.3kbits/
frame= 1230 fps=222 q=-1.0 size=   44186kB time=00:00:49.08 bitrate=7373.9kbits/
frame= 1350 fps=224 q=-1.0 size=   47704kB time=00:00:53.88 bitrate=7251.9kbits/
frame= 1470 fps=225 q=-1.0 size=   50936kB time=00:00:58.68 bitrate=7109.9kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
frame= 1608 fps=228 q=-1.0 size=   54296kB time=00:01:04.20 bitrate=6927.4kbits/
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 5749288, current: 5748570; changing to 5749289. This may result in incorrect timestamps in the output file.
frame= 1741 fps=231 q=-1.0 size=   57540kB time=00:01:09.49 bitrate=6782.7kbits/
frame= 1879 fps=234 q=-1.0 size=   61164kB time=00:01:15.01 bitrate=6679.3kbits/
frame= 2007 fps=235 q=-1.0 size=   64710kB time=00:01:20.13 bitrate=6615.1kbits/
frame= 2136 fps=236 q=-1.0 size=   68262kB time=00:01:25.29 bitrate=6556.0kbits/
frame= 2260 fps=237 q=-1.0 size=   71672kB time=00:01:30.25 bitrate=6505.2kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 8174248, current: 8173528; changing to 8174249. This may result in incorrect timestamps in the output file.
frame= 2383 fps=237 q=-1.0 size=   75114kB time=00:01:35.14 bitrate=6467.4kbits/
frame= 2503 fps=237 q=-1.0 size=   78480kB time=00:01:39.94 bitrate=6432.7kbits/
frame= 2629 fps=238 q=-1.0 size=   82010kB time=00:01:44.98 bitrate=6399.3kbits/
frame= 2727 fps=236 q=-1.0 size=   86316kB time=00:01:48.90 bitrate=6492.9kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 10121848, current: 10121130; changing to 10121849. This may result in incorrect timestamps in the output file.
frame= 2832 fps=235 q=-1.0 size=   90676kB time=00:01:53.07 bitrate=6569.4kbits/
frame= 2926 fps=233 q=-1.0 size=   94772kB time=00:01:56.83 bitrate=6645.2kbits/
frame= 3025 fps=231 q=-1.0 size=   98768kB time=00:02:00.79 bitrate=6698.4kbits/
frame= 3122 fps=230 q=-1.0 size=  102644kB time=00:02:04.67 bitrate=6744.6kbits/
frame= 3230 fps=230 q=-1.0 size=  106676kB time=00:02:08.99 bitrate=6774.8kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 11760568, current: 11759850; changing to 11760569. This may result in incorrect timestamps in the output file.
frame= 3336 fps=229 q=-1.0 size=  110642kB time=00:02:13.20 bitrate=6804.6kbits/
frame= 3444 fps=228 q=-1.0 size=  114624kB time=00:02:17.52 bitrate=6828.1kbits/
frame= 3550 fps=228 q=-1.0 size=  118612kB time=00:02:21.76 bitrate=6854.3kbits/
frame= 3652 fps=227 q=-1.0 size=  122602kB time=00:02:25.84 bitrate=6886.7kbits/
[libmp3lame @ 0x560dfe2b1f20] Queue input is backward in time
frame= 3756 fps=226 q=-1.0 size=  126554kB time=00:02:30.00 bitrate=6911.5kbits/
[mpeg @ 0x560dfe257fa0] Non-monotonous DTS in output stream 0:1; previous: 13485688, current: 13484970; changing to 13485689. This may result in incorrect timestamps in the output file.
frame= 3866 fps=226 q=-1.0 size=  130496kB time=00:02:34.36 bitrate=6925.2kbits/
frame= 3975 fps=226 q=-1.0 size=  134232kB time=00:02:38.72 bitrate=6927.8kbits/
frame= 4090 fps=226 q=-1.0 size=  137908kB time=00:02:43.32 bitrate=6917.0kbits/
frame= 4198 fps=226 q=-1.0 size=  141580kB time=00:02:47.64 bitrate=6918.2kbits/
[.....]

Das Ergebnis funktioniert nun in Totem und auch in VLC. Der Ton ist so auch bis zum Ende synchron zum Bild. Super! Wegen This is deprecated and will stop working in the future und Fix your code to set the timestamps properly rätsle ich noch, welcher bessere Befehl das vermeiden könnte.

Vielen Dank für Deine allumfassende Hilfe.

Gruß Ulf

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Um solche ungelegten Eier kann man sich zu Ostern 2023 kümmern. Das sind Meldungen für Entwickler, nicht für dich. Bis dahin kann alles anders sein.

archy

Anmeldungsdatum:
24. November 2009

Beiträge: 1920

hallo UlfZibis,

dann mach noch das grüne Häkchen für "gelöst" dran.

gruß

archy

UlfZibis

(Themenstarter)

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

Statt über den Umweg CYD_copy.mpg habe ich die Audio-Umwandlung nun mal direkt auf die .vob-Dateien angewandt. So läuft ffmpeg ohne Fehlermeldungen durch:

ffmpeg -i "concat:001-C001/CYD-001.vob|..." -c:v copy -c:a libmp3lame -b:a 192k CYD_mpeg2-copy_mp3.mpg

Und mit:

ffmpeg -i "concat:001-C001/CYD-001.vob|..." -c copy CYD_copy.vob

bekomme ich einen fehlerfreien .vob-Stream ... warum sind wir da nicht gleich drauf gekommen?

archy

Anmeldungsdatum:
24. November 2009

Beiträge: 1920

hallo,

am 17.11 schrieb ich dir

Geh mit der Konsole mit cd in das zugehörige VIDEO_TS Verzeichnis und dann:

Wir haben uns sogar darüber ausgetauscht, dass unter dvdrip der Unterordner nicht VIDEO_TS heißt, sondern ~/dvdrip-data/Projektname/vob/001.

Ich war daher der Meinung du hättest die VOB-Dateien von dvdrip verwendet.

gruß

archy

UlfZibis

(Themenstarter)

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3162

Wohnort: Köln

archy schrieb:

Geh mit der Konsole mit cd in das zugehörige VIDEO_TS Verzeichnis und dann:

Ja, aber genau das ging ja nicht. Wie ich schrieb, ist die DVD auf Dateisystemebene nicht lesbar:

$ cd /media/ich/DVD_VIDEO_RECORDER
ich@T500:/media/ich/DVD_VIDEO_RECORDER$ ls -l
insgesamt 0
ich@T500:/media/ich/DVD_VIDEO_RECORDER$ cd VIDEO_TS
bash: cd: VIDEO_TS: Datei oder Verzeichnis nicht gefunden

Im Nautilus erscheint der Ordner VIDEO_TS immerhin in grau aber leer, siehe Anhang.

... warum sind wir da nicht gleich drauf gekommen?

war nicht kritisierend sondern ironisch gemeint. 😉

Ich war daher der Meinung du hättest die VOB-Dateien von dvdrip verwendet.

Ja genau, das waren die einzigen, auf die ich Zugriff hatte.

Gruß Ulf

Bilder
Antworten |