Fehler bei der Kodierung mit ffmpeg

5398
alex

Ich hatte Probleme, Videos zu kodieren. Ich kann das Video in mpg kodieren, aber die Größe ist 10 + x größer (kein Witz).

Also dachte ich, ich würde einfach etwas tun. Entfernen Sie den Ton, kopieren Sie das Video

ffmpeg -i 5.flv -vcodec Kopie -an 5o.flv

Das konnte das nicht! Beachten Sie, dass es eine sehr große mpg-Datei erzeugen kann und videolan es abspielen kann. Allerdings gibt es keine Keyframes, also kann ich springen. Es wurde durch Kopieren eines Streams erzeugt. Ergebnisse sind ...

FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilt er --enable-avfilter-lavf --enable-pthreads --enable-avisynth --enable-libfaac - -enable-libfaad --enable-libmp3lame --enable-libspeex --enable-libtheora --enabl e-libvorbis --enable-libxvid --enable-libx264 --enable-memalign-hack libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 0 / 52.20. 0 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Mar 16 2009 16:09:18, gcc: 4.2.4 [Sherpya] Input #0, flv, from '5.flv': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0.0: Video: flv, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc Stream #0.1: Audio: nellymoser, 11025 Hz, mono, s16 File '5o.flv' already exists. Overwrite ? [y/N] y Output #0, flv, to '5o.flv': Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 90k tbn, 1k tbc Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding [NULL @ 0x16a4010]error, non monotone timestamps 1571775 >= 11811 av_interleaved_write_frame(): Error while opening file  D:\> 

Die Datei endet bei 716 kb (von 8,9 MB). So hat es angefangen, es hatte gerade Probleme. Wie kann ich sagen, dass Fehler ignoriert oder behoben werden sollen?

2
Sie möchten nur den Audioteil der Eingabedateien entfernen? Sind Sie gezwungen, ffmpeg zu verwenden (aus welchen Gründen auch immer)? akira vor 15 Jahren 0

1 Antwort auf die Frage

-1
nik

Schlagen Sie vor, Handbrake auszuprobieren .
Es ist für Windows und Unix ( Ubuntu ) verfügbar .
Für Ubuntu versuchen Sie es direkt mit Synaptic.

Hier finden Sie eine ffmpeg-Cheatsheet-Referenz und eine detaillierte Anleitung, wenn Sie tiefer in ffmpeg einsteigen möchten.


Ihr Befehl scheint eine FLV-Eingabedatei vorzuschlagen ...
Können Sie die Quelldatei über GSpot 2.70a ausführen und die Kodierung etwas mehr beschreiben?
Die Handbremse funktioniert normalerweise gut, um Standardformate für Konvertierungen aufzugreifen.

und durch die Verwendung der Handbremse (welche libav * ... -> ffmpeg verwendet) ... welcher Teil der Frage ist gelöst? akira vor 15 Jahren 0
@akira, ich interpretierte das Hauptproblem als eine Notwendigkeit, ein größeres Video in eine kleinere Größe zu übersetzen. Die Handbremse hat sehr einfache Profile, um dies zu erreichen. Wenn das OP jedoch daran interessiert ist, ffmpeg-Details zu erfahren, um Dinge zu erledigen (oder um herauszufinden, was nicht möglich ist), habe ich einige andere Referenzen gegeben. nik vor 15 Jahren 0
Die Handbremse gab mir auch Probleme. Ich konnte das Video mit Handbreak NICHT ALLES codieren vor 15 Jahren 0
wie gesagt: handbrake basiert auf ffmpeg-bibliotheken, was bedeutet, wenn man das zugrunde liegende problem der eingabedatei nicht löst, geht nichts festes aus nichts heraus. akira vor 15 Jahren 0
@akira, und du hast recht. Aber manchmal ist das Lösen der ffmpeg-Optionen an sich schon eine schwierige Aufgabe. nik vor 15 Jahren 0
@nik: daran besteht kein Zweifel. akira vor 15 Jahren 0