[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: StillImage -> DV ( war: ffmpeg: libavformat-cvs.so: cannot open ...)



On Wed, 10 Aug 2005 22:09:06 +0200
Al Bogner <debian@ml05a.pinguin.uni.cc> wrote:

> ffmpeg -i %03d_alga.png -target  pal-dvd alga.dv
> [...]
> %03d_alga.png: could not find codec parameters
> 
> Was mache ich da falsch? Ich will nur _1_ png-file nach dv wandeln, auch
> wenn  es da noch weitere Dateien 002_alga.png, etc. gibt.

Was mich wundert ist, dass der Ausgabedateiname auf .dv endet aber das
target "pal-dvd" ist. Desshalb auch meine Erklärungen zu DV und
DVD. Die Meldung kann ich mir nicht erklären, bei mir sieht das wie
folgt aus und funktioniert. "convert" (ImageMagick) erzeugt mir dabei nur
das Eingabebild als png, ich hatte sonst keins zur Hand.

| $ rm *
| $ convert /usr/share/images/desktop-base/Debian.jpg 001_alga.png
| $ ffmpeg -i %03d_alga.png -target pal-dvd alga.dv
| ffmpeg version 0.4.9-pre1, build 4756, Copyright (c) 2000-2004 Fabrice Bellard
|   configuration:  --enable-x264 --enable-mp3lame --enable-libogg --enable-vorbis --enable-a52 --enable-pp --enable-shared-pp --enable-shared --enable-pthreads --enable-gpl --cc=gcc-3.4 --extra-cflags=-O3 -mfpmath=sse -mmmx -msse -msse2 -march=pentium4 -mtune=pentium4 -fschedule-insns2 -falign-functions=32 -falign-labels=32 -falign-loops=32 -falign-jumps=32 -fprefetch-loop-arrays -fomit-frame-pointer -frename-registers -fmove-all-movables 
|   built on Jun 27 2005 12:37:46, gcc: 3.4.4 20050314 (prerelease) (Debian 3.4.3-13)
| Input #0, image2, from '%03d_alga.png':
|   Duration: 00:00:00.0, start: 0.000000, bitrate: N/A
|   Stream #0.0: Video: png, rgb24, 1280x960, 25.00 fps
| Output #0, dvd, to 'alga.dv':
|   Stream #0.0: Video: mpeg2video, yuv420p, 720x576, 25.00 fps, q=2-31, 6000 kb/s
| Stream mapping:
|   Stream #0.0 -> #0.0
| Press [q] to stop encoding
| frame=    1 q=0.0 Lsize=      32kB time=10000000000.0 bitrate=   0.0kbits/s    
| video:29kB audio:0kB global headers:0kB muxing overhead 11.463365%
| $ ls -l
| total 1424
| -rw-r--r--  1 chris chris 1415169 Aug 10 23:45 001_alga.png
| -rw-r--r--  1 chris chris   32768 Aug 10 23:45 alga.dv

Ich weiß nicht, was an meiner ffmpeg-Version besser oder anders sein
soll, als an deiner. Mein ffmpeg kommt aus dem CVS vom
26.06.2005. Wenn du das kompilieren scheust, könntest du natürlich
auch mal das Paket aus unstable testen, anstatt dem von Marillat. Aber
das zerfetzt dir bestimmt einige Abhängigkeiten von anderen Marillat
Paketen.


> > Willst du wirklich DV erzeugen? 
> 
> Vorerst will ich für Tests dv-Format erzeugen und nicht mpeg2 für DVD.

Nun gut, wenn du zu viel Platz hast ;-)

> Du  kannst dir auch mal
> http://pinguin.uni.cc/jerking_flickering_xvid.avi  ansehen. Mit dieser
> Qualität bin ich nicht zufrieden, weil das Bild ruckelt.

Das habe ich mir schon vor einigen Tagen angesehen, aber ich war zu
faul bei transcode-users auf englisch zu antworten... Ich denke, das
Problem damit ist, dass die Übergänge zu "hart"/kontrastreich
sind. Dabei meine ich vor allem die Szene bei der zwei Bildhälften
aufeinander zu fahren. Bei "nur" 25fps kann man sowas merken, wenn man
sich darauf konzentriert und direkt am Monitor sitzt. Vom Sofa aus
sieht das dann evtl. schon anders aus. Außerdem ist die Auflösung so
riesig, dass unter Umständen auch relativ neue Hardware Problemchen
bekommen könnte, das Video also garnicht ruckelfrei abgespielt werden
kann.

Der Vergleich mit dem MPEG, welches du noch genannt hattest, ist
unfair. Die Auflösung erinnert ehr an eine Briefmarke und die Bitrate
ist so gering, dass alles verwaschen bzw. blockig ist. Da ist's Essig
mit kontrastreichen Übergängen. Abgesehen davon sind die Bewegungen
viel langsamer und es gibt keine unnatürlichen Übergänge im Bild (die
sich in deinem Beispiel auch noch bewegen). Außerdem, wenn ich mir das
als Vollbild ansehe und ganz streng bin, auch hier kann ich ein
leichtes Ruckeln sehen.

Allerdings könntest du die Übergänge künstlich "verwaschen", damit es
ehr aussieht wie bei schnellen Bewegungen in echten Filmen. Schau dir
am Besten mal Einzelbilder von DVD an oder Fotos von bewegten
Objekten, dann weißt du was ich meine.

Eine andere Möglichkeit wäre es, das Video im Halbbildverfahren
("interlaced") zu kodieren. So kannst du die vollen 50Hz
Bildwiederholrate von Fernsehern nutzen. Wie du dafür jedoch die
Einzelbilder ohne Programmierarbeit erzeugen kannst, weiß ich
nicht. Außerdem ist eine Vorschau am PC dann schwierig.


> DV PAL widescreen hat eine Auflösung von 720x576 und eine Pixelbreite
> von  1,4568, DV PAL 1,0926, d.h. um diesen Faktor würde ein StillImage
> von einer  Digicam mit quadrat. Pixeln (=1,0000) verzerrt, wenn man
> nicht gegensteuert.   720*1,0926=786,67.

Danke für die Erklärung, ich begreife jedoch nicht wozu das gut sein
soll. Aber DV ist mir nicht so wichtig, desshalb können wir es auch
hierbei belassen.


Gruß,

Christian Bodenstedt



Reply to: