Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

aus foto Standbild machen mit ffmpeg

79 views
Skip to first unread message

Elisabeth Reuter

unread,
Nov 22, 2009, 2:42:57 PM11/22/09
to
Hallo,

ich habe das Problem, dass ich aus einem Foto ein Standbild (in einem Video)
machen möchte.

wenn ich das Foto jetzt 400 x kopiere und daraus foto001.jpg bis foto400
mache, lässt sich das ganze sehr leicht mit

ffmpeg -i foto%03d.jpg standbild.flv

machen.

Das ganze ist allerdings etwas langwierig und umständlich. Geht es auch
irgendwie, dass man ein solches Video mit nur einem Foto machen kann, das
dann zB. 15 Sekunden dauert?

Beste Grüße

Elisabeth

Alexander Griesser

unread,
Nov 23, 2009, 3:44:43 AM11/23/09
to

Naja, eine Idee wäre die Framerate mit ffmpeg entsprechend anzupassen,
z.B. auf 1frame/s, somit würdest du nur 15 Bilder brauchen. Vielleicht
kann der -r Parameter auch Kommazahlen interpretieren, dann könntest
du 1/15 als Framerate angeben, was allerdings nicht jeder Codec
unterstützen wird.

ciao,
Alex

Elisabeth Reuter

unread,
Nov 23, 2009, 6:06:54 AM11/23/09
to
> Naja, eine Idee wäre die Framerate mit ffmpeg entsprechend anzupassen,
> z.B. auf 1frame/s, somit würdest du nur 15 Bilder brauchen. Vielleicht
> kann der -r Parameter auch Kommazahlen interpretieren, dann könntest
> du 1/15 als Framerate angeben, was allerdings nicht jeder Codec
> unterstützen wird.


Hallo,

es scheint so zu funktionieren:

ffmpeg -r 0.1 -f image2 foto%d.jpg -r 25 out.mpg

Das erste -r ist dabei die Input-Framerate, das zweite die Output-Framerate.

Scheinbar braucht man aber mindestens zwei Bilder, damit es funktioniert.

Beste Grüße

Elisabeth

Alexander Griesser

unread,
Nov 23, 2009, 6:54:29 AM11/23/09
to
Elisabeth Reuter wrote:
>> Naja, eine Idee wäre die Framerate mit ffmpeg entsprechend anzupassen,
>> z.B. auf 1frame/s, somit würdest du nur 15 Bilder brauchen. Vielleicht
>> kann der -r Parameter auch Kommazahlen interpretieren, dann könntest
>> du 1/15 als Framerate angeben, was allerdings nicht jeder Codec
>> unterstützen wird.
>
> es scheint so zu funktionieren:
>
> ffmpeg -r 0.1 -f image2 foto%d.jpg -r 25 out.mpg
>
> Das erste -r ist dabei die Input-Framerate, das zweite die Output-Framerate.

Bei der Output Framerate kannst du sicher auch noch was nachjustieren,
oder ist 25 hier das Limit für mpg?

> Scheinbar braucht man aber mindestens zwei Bilder, damit es funktioniert.

1 Bild == Bild
2+ Bilder == Video :]

Sehr pedantisch, der ffmpeg, aber macht irgendwie auch Sinn.

ciao,
Alex

Jan C. Faerber

unread,
Nov 24, 2009, 7:47:16 AM11/24/09
to

David Wührer

unread,
Nov 23, 2009, 12:29:11 PM11/23/09
to
Elisabeth Reuter wrote:

> Hallo,
>
> ich habe das Problem, dass ich aus einem Foto ein Standbild (in einem
> Video) machen möchte.
>
> wenn ich das Foto jetzt 400 x kopiere und daraus foto001.jpg bis foto400
> mache, lässt sich das ganze sehr leicht mit

Oder mit ln foto001.jpg bis foto400,
dann ist es physisch nur einmal auf der Platte,
aber unter 400 verschiedenen Dateinamen.

Etwa so:
for ((i=2;i<=400;i++)); do ln foto001.jpg foto$i.jpg; done

Andreas Leitgeb

unread,
Nov 25, 2009, 5:21:31 AM11/25/09
to
David Wührer <d...@gmx.at> wrote:

> Elisabeth Reuter wrote:
>> wenn ich das Foto jetzt 400 x kopiere und daraus foto001.jpg bis foto400
>> mache, lässt sich das ganze sehr leicht mit
> Oder mit ln foto001.jpg bis foto400,
> dann ist es physisch nur einmal auf der Platte,
> aber unter 400 verschiedenen Dateinamen.

> Etwa so:
> for ((i=2;i<=400;i++)); do ln foto001.jpg foto$i.jpg; done

Ist ja krass, was man da schon wieder an neuer(?) bash-syntax kennenlernt :-)
Ich hätt's wohl noch so geschrieben: for i in {2..400}; do ...
Und das variable ln-argument dann so: foto$(printf %03d $i).jpg

Oder überhaupt gleich so:
for i in {002..400}; do ln foto001.jpg foto$i.jpg; done

David Wührer

unread,
Nov 26, 2009, 3:23:06 AM11/26/09
to
Andreas Leitgeb wrote:
> Ist ja krass, was man da schon wieder an neuer(?) bash-syntax kennenlernt
> :-)
> Ich hätt's wohl noch so geschrieben: for i in {2..400}; do ...
> Und das variable ln-argument dann so: foto$(printf %03d $i).jpg
>
> Oder überhaupt gleich so:
> for i in {002..400}; do ln foto001.jpg foto$i.jpg; done

Ich habe nie behauptet, ein bash-Guru zu sein, es war nur ein Vorschlag.
Deine Lösung gefällt mir besser.

Andreas Leitgeb

unread,
Nov 26, 2009, 4:54:25 PM11/26/09
to
David Wührer <d...@gmx.at> wrote:
> Andreas Leitgeb wrote:
>> Ist ja krass, was man da schon wieder an neuer(?) bash-syntax kennenlernt :-)
>> [...]

> Ich habe nie behauptet, ein bash-Guru zu sein,

Ich habe nicht behauptet, dass du es behauptet hättest, aber vielleicht
angedeutet, dass du es vielleicht dennoch bist :-)

Immerhin kannte ich die Syntax noch nicht einmal. Dass im konkreten Problem
dann eine andere Lösung noch kompakter war, ist dabei Nebensache.

0 new messages