ubuntuusers.de

ffmpeg - Could not write header for output file #0 (incorrect codec parameters ?)

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

zonensatan

Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

Hallo zusammen,

Ich habe ein Problem mit ffmpeg.

Das Ziel ist es, Filme auf dem Handy schauen zu können. Es ist ein SE W705 und kann mit Videos umgehen die H263 kodiert sind; Ton entweder als MP3 oder AAC; verpackt in MP4-Container. Auflösung des Displays ist 320x240, Speicherplatz reichlich (4gb) vorhanden -so dass es eher auf Funktionalität des Videos als auf seine Größe ankommt. Für diesen Zweck möchte ich eigentlich ffmpeg benutzen.

Bisher habe ich ffmpeg laut Anleitung aus dem WIKI inklusive der unfreien Codecs installiert. Aus den man-Pages habe ich mir folenden Befehl zusammen gesucht:

ffmpeg -i film.avi -s 352x288 -vcodec h263   film.mp4

Den Audiocodec habe ich hier außen vor gelassen, da der Ton bereits als mp3 vorliegt. Die Anpassungen an das Video-Format sollten durch ffmpeg automatisch gewählt werden, soweit nicht vorgegeben - beträfe in diesem Fall Framerate usw.(man ffmpeg sagt "... By default, FFmpeg tries to convert as losslessly as possible: It uses the same audio and video parameters for the outputs as the one specified for the inputs. ... )

Allerdings erhalte ich damit die Fehlermeldung:

Could not write header for output file #0 (incorrect codec parameters ?)

-formats gibt aus: ffmpeg Formate Wenn ich das richtig interpretiere leigen die benötigten Encoder (mp4 als Format, h263 sowie aac) vor.

Ich habe jetzt schon soviel mit den Einstellungen herumgespielt, dass ich den Rest vergessen habe. Das Kompilieren aus den Quellen (SVN) hat mich übrigens auch nicht weitergebracht. Da hatte ich dann zusätzlich das Problem, dass Encoder unbekannt waren bzw. keine Tags dafür gesetzt sind.

Ratlos

zonensatan

20100801

Anmeldungsdatum:
3. Januar 2007

Beiträge: 1050

ffmpeg -i film.avi -s 352x288 -vcodec h263 film.mp4

ffmpeg -i film.avi -s 352x288 -vcodec h264 film.mp4

zonensatan

(Themenstarter)
Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

Warum denn 264? Kann das Telefon auch nicht.

Und ich erhalte die Fehlermeldung:

Unknown encoder 'h264'

Trotzdem danke.

20100801

Anmeldungsdatum:
3. Januar 2007

Beiträge: 1050

Hier steht MPEG4, 3GP (H.263)

klappt das...?

ffmpeg -i film.avi -f 3gp -vcodec h263 -s 352x288 film.3gp

busfahrer

Avatar von busfahrer

Anmeldungsdatum:
9. April 2007

Beiträge: 3052

Hallo zonensatan

ich hab mal ein .avi mit mp3 Audiospur mit deinen Parametern konvertiert, das funktioniert fehlerfrei.Aus der mp3 Audiospur wird allerdings bei vcodec h263 automatisch aac.Das Resultat von

ffmpeg -i film.avi -s 352x288 -vcodec h263 film.mp4

ist das hier

Stream #0.0: Video: h263, yuv420p, 352x288, q=2-31, 200 kb/s, 25.00 fps(c)

Stream #0.1: Audio: aac, 44100 Hz, stereo, 64 kb/s

Das alles mit Ubuntu 8.04 .Welche Ubuntu-Version nutzt du denn?

Gruß...busfahrer

zonensatan

(Themenstarter)
Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

@ Hendrikx Geht leider so nicht.

Unsupported codec for output stream #0.1

3gp hatte ich schonmal mit einer selbstkompilierten versucht, aber die Mögliche Qualität von Video und Ton haben mich enttäuscht...

@ Busfahrer

funktioniert nicht, warum auch immer. Asugabe sieht so aus:

ffmpeg -i film.avi -s 352x288 -vcodec h263 film.mp4
FFmpeg version r11872+debian_3:0.svn20080206-12ubuntu3.1, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libfaad --enable-libfaadbin --enable-liba52 --enable-liba52bin --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
  libavutil version: 49.6.0
  libavcodec version: 51.50.0
  libavformat version: 52.7.0
  libavdevice version: 52.0.0
  built on Mar 13 2009 17:48:10, gcc: 4.3.2
Input #0, avi, from 'film.avi':
  Duration: 00:00:45.0, start: 0.000000, bitrate: 15389 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 640x480 [PAR 0:1 DAR 0:1], 30.00 tb(r)
    Stream #0.1: Audio: pcm_s16le, 44100 Hz, mono, 705 kb/s
File 'film.mp4' already exists. Overwrite ? [y/N] y
Output #0, mp4, to 'film.mp4':
    Stream #0.0: Video: h263, yuv420p, 352x288 [PAR 0:1 DAR 0:1], q=2-31, 200 kb/s, 30.00 tb(c)
    Stream #0.1: Audio: libfaac, 44100 Hz, mono, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
[mp4 @ 0xb809f388]track 0: could not find tag for codec
Could not write header for output file #0 (incorrect codec parameters ?)

Ubuntu ist Xubuntu 08.10.

Beste Grüße

busfahrer

Avatar von busfahrer

Anmeldungsdatum:
9. April 2007

Beiträge: 3052

Hallo

hab hier Jaunty in einer VM laufen und das dort installierte ffmpeg hab ich noch unter 8.10 selber kompiliert.Ich bekomme bei deinem Befehl

ffmpeg -i film.avi -vcodec h263 -s 352x288 film.mp4

folgende fehlermeldung

[mp4 @ 0xa2ef3d0]track 0: could not find tag, codec not currently supported in container

Could not write header for output file #0 (incorrect codec parameters ?)

Erstere Meldung besagt wohl,das der h263 Codec im mp4 Container nicht unterstützt wird. Oder verstehe ich da was falsch?Was ich nur nicht verstehe ist,warum das unter Hardy mit ffmpeg aus den Medibuntu-Quellen fehlerfrei funktioniert.

Gruß...busfahrer

heart_disease

Avatar von heart_disease

Anmeldungsdatum:
30. Juni 2006

Beiträge: 132

Lass doch mal den -vcodec Parameter vollkommen weg. Also nur

1
ffmpeg -i film.avi -s 352x288 film.mp4

busfahrer

Avatar von busfahrer

Anmeldungsdatum:
9. April 2007

Beiträge: 3052

heart_disease schrieb:

Lass doch mal den -vcodec Parameter vollkommen weg. Also nur

1
ffmpeg -i film.avi -s 352x288 film.mp4

Bei mir funktioniert das einwandfrei.Sollte dann auch bei @zonensatan funzen. FFmpeg nimmt dann natürlich den mpeg4 Video-Codec und den aac Audio-Codec. Das sollte dann auch auf seinem Handy laufen.

@zonensatan

wenn du unbedingt den h263 Codec nehmen willst,schätze ich wirst du um 3gp nicht herum kommen.

Gruß...busfahrer

zonensatan

(Themenstarter)
Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

Ich bin mir gerade nicht sicher, ob es nicht am Eingangsformat lag. Bearbeite gerade ein anderes Video und zumindest ffmpeg läuft. Was das Telefon dann damit macht werde ich sehen...

Bis dahin erst mal danke.

Edit: Eingangsformat kann es wohl nicht gewesen sein, das wird nämlich von fmpeg unterstützt. Dafür kann meine Version aac nur decodieren.

zonensatan

(Themenstarter)
Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

Jahaaa... Das Bild tuts mit mpeg4 auch auf dem Telefon. Den lame-mp3-Ton dagegen mag es nicht.

ffmpeg gibt mir aus, dass es aac nur decodieren aber nicht encodieren kann. Muß ich wohl neu kompilieren? Oder ist da bei Jaunty was geändert -dann würde ich eben noch zwei Wochen warten...

zonensatan

(Themenstarter)
Avatar von zonensatan

Anmeldungsdatum:
13. April 2006

Beiträge: 152

GELÖST!

Die Punkte gehen an Busfahrer und Herzkrankheit.

Busfahrer hat wohl richtig auf den Eintrag in der Ausgabe von ffmpeg hingewiesen - ich hätte mir wohl die Spezifikationen des Codecs genauer ansehen müssen.

Herzkrankheit hat den Hinweis mit dem Weglassen der codec-Anweisung völlig zu recht gegeben - ffmpeg regelt eine Menge Konfiguration von ganz allein.

Der Befehl mußte lauten:

ffmpeg -i film.avi -s qvga film.mp4

Und tatsächlich kann das Telefon mit den erzeugten Files umgehen.

Hendrikx kriegt den Ehrenpunkt für die erste Antwort 😉

Der Satan kriegt ein auf den Kopf für mangelhaftes Lesen. Es ist ja nicht so, dass der Encoder wie der Dateityp heißt 🙄 . Und er hätte sich im Vorfeld ein wenig mit den Codecs auseinandersetzen sollen...

Danke an die Helfer!

Beste Grüße Satan

Antworten |