ffmpeg kann die Datei nicht schneiden: Fehler beim Positionieren konnte nicht gesucht werden


1

Ich verwende ffmpeg 0.8 unter Windows (kann keine neuere Version verwenden, da mein Dienstanbieter nur diese Version auf den Servern installiert hat, sogar 0.7.8)

Versuch, Mediendatei zu schneiden (dh 10 Sek. Lang)

ffmpeg -ss 00:00:05.00  -i i.ogg o.ogg

Ergebnisdatei ist eigentlich nicht das, was gesucht wird, bekam die Ausgabe:

ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 23 2011 14:21:12 with gcc 4.5.3
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-
runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --
enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl
e-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
i.ogg: could not seek to position 5.000
Input #0, ogg, from 'i.ogg':
  Duration: 00:00:10.02, start: 0.000000, bitrate: 57 kb/s
    Stream #0.0: Video: theora, yuv420p, 505x404 [PAR 1:1 DAR 5:4], 25 tbr, 25 t
bn, 25 tbc
    Stream #0.1: Audio: vorbis, 44100 Hz, stereo, s16, 64 kb/s
    Metadata:
      ENCODER         : Lavf53.4.0
File 'o.ogg' already exists. Overwrite ? [y/N] y
[buffer @ 0000000000329060] w:505 h:404 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_
param:
Output #0, ogg, to 'o.ogg':
  Metadata:
    encoder         : Lavf53.4.0
    Stream #0.0: Video: libtheora, yuv420p, 505x404 [PAR 1:1 DAR 5:4], q=2-31, 2
00 kb/s, 25 tbn, 25 tbc
    Stream #0.1: Audio: flac, 44100 Hz, stereo, s16, 64 kb/s
    Metadata:
      ENCODER         : Lavf53.4.0
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
frame=    0 fps=  0 q=0.0 Lsize=      84kB time=00:00:00.00 bitrate=   0.0kbits/
s
video:0kB audio:80kB global headers:3kB muxing overhead 0.673916%

Es funktioniert gut mit den neuesten Versionen von ffmpeg. Was soll das Problem sein?

Antworten:


1

Es sieht aus wie ein ffmpeg-Fehler oder ein Mangel an Funktionen. Ich würde versuchen, es zu umgehen, indem ich die Option -ss anders spezifiziere. Das offensichtlichste ist, einfach "-ss 5" anstelle der HH: MM: SS-Syntax zu versuchen.

Dies sieht aus der Manpage für 0.11 ebenfalls vielversprechend aus. Möglicherweise oder möglicherweise nicht in Ihrer alten Version verfügbar.

-ss Position (Eingabe / Ausgabe)

Bei Verwendung als Eingabeoption (vor "-i") wird in dieser Eingabedatei nach Position gesucht. Bei Verwendung als Ausgabeoption (vor einem Ausgabedateinamen) werden Eingaben decodiert, jedoch verworfen, bis die Zeitstempel die Position erreichen. Dies ist langsamer, aber genauer.

Die Position kann entweder in Sekunden oder in der Form "hh: mm: ss [.xxx]" angegeben werden.

Vorausgesetzt, Sie möchten wirklich nur schneiden, nicht neu codieren, sollten Sie stattdessen auch Codec-Optionen zum Kopieren hinzufügen ( -acodec copy, -vcodec copy). -copytskann auch nützlich sein (Zeitstempel kopieren). Also versuchen Sie etwas wie dieses:

ffmpeg -i foo.ogg -acodec copy -vcodec copy -copyts -ss 5 foominus5.ogg

Vielen Dank, dass Sie Vorschlag funktioniert. Ich versuche jetzt zu kämpfen, um OGG-Audiodateien in OGG-Audiodateien umzuwandeln. In einer späteren Version von ffmpeg habe ich die Optionen -q '1' und -map 'a' verwendet, um Videos in Medien zu entfernen , aber diese Optionen funktionieren nicht in der alten Version.
WHITECOLOR

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.