Frage Wie man aus Bildern eine Video-Diashow mit Ton macht


Ich habe eine 65min lange MP3-Datei und 14 verschiedene Bilder (eine Diashow).

Wie kombinieren Sie diese in einer Videodatei, die weniger als 500 MB ist?

Gibt es eine kostenlose / opensource / Test-Software für Windows 7, die 14 Bilder und 65 Minuten MP3 @ 320kbs aufnehmen kann und diese in eine AVI-Datei mit maximal 500MB (für ein einfaches Vimeo-Konto) verwandelt?


4
2017-11-13 16:11


Ursprung


Das bedeutet 3900 Sekunden für 14 Bilder, was jedem Bild für 278 Sekunden entspricht. Oder willst du sie zum Beispiel alle 2 Sekunden durchlaufen und zeigen? - slhck
Danke für die Bearbeitung. Tut mir leid, ich sollte besser erklären: MP3-Datei ist eigentlich eine Mischung aus 14 Songs. Verschiedene Längen, so dass die Bilder den Songs folgen (das Bild ändert sich, wenn der Song endet). - enloz
Auf der Seite der Komprimierung sollten Sie sich daran erinnern, wie die Komprimierung funktioniert, wenn Sie versuchen, die "Animation" des Videos in der Größe zu halten (und die Komprimierung niedriger). alles, was ALLE Pixel ändert (löst, verschiebt, gleitet, Zoom-Effekte), benötigt eine Menge Daten (nicht komprimieren) Effekte, die weniger Pixel verändern (Schnitte, nicht bewegte Wipes, Pattern-Wipes) Die Kompression muss nur die Pixel ändern, die sich ändern zwischen den Bildern. - Psycogeek


Antworten:


Dies ist für FFmpeg (siehe hier für Windows-Versionen).

Bereiten Sie zuerst Ihre Bilder so vor, dass sie benannt werden image-001.jpg, image-002.jpg, und so weiter. Legen Sie sie in einen Ordner.

Verwenden Sie jetzt den folgenden Befehl:

ffmpeg -y -loop 1 -f image2 -r 0.5 -i image-%03d.jpg -s:v 1280x720 -b:v 1M \
       -i soundtrack.mp3 -t 01:05:00 -map 0:0 -map 1:0 out.avi

Sie können natürlich die Parameter ändern. Hier ist eine Erklärung, was sie tun:

  • -loop_input - Loops die Bilder. Deaktivieren Sie dies, wenn Sie die Codierung beenden möchten, wenn alle Bilder verwendet oder die Tonspur beendet ist.

  • -r 0.5 - setzt die Framerate auf 0.5, was bedeutet, dass jedes Bild für 2 Sekunden angezeigt wird. Nehmen Sie einfach die Umkehrung, wenn Sie beispielsweise möchten, dass jedes Bild 3 Sekunden lang hält, stellen Sie es auf 0,33 ein.

  • -i image-%03d.jpg - Verwenden Sie diese Eingabedateien. %03d bedeutet, dass es für die Bilder dreistellige Zahlen geben wird.

  • -s 1280x720 - Legt die Größe des Ausgabefachs fest.

  • -b 1M - Setzt die Bitrate. Sie wollen 500MB für eine Stunde, was 4000MBit in 3600 Sekunden entspricht, also sollte eine Bitrate von ca. 1MBit / s ausreichen.

  • -i soundtrack.mp3 - Verwenden Sie diese Soundtrack-Datei. Kann jedes Format haben.

  • -t 01:05:00 - Stellen Sie die Ausgabelänge ein hh:mm:ss Format.

  • out.avi - Erstellen Sie diese Ausgabedatei. Ändern Sie es, wie Sie möchten, zum Beispiel mit einem anderen Container wie MP4.


9
2017-11-13 16:54



+1 .. und ich habe nur eine Frage. Kann ich zum Beispiel einstellen: "zeige Image1 für 2min, zeige Image2 für 3min ..."? Vielen Dank! - enloz
Da du das vorher nicht angegeben hast, hätte ich es nicht erraten können. Ich denke nicht, dass das mit FFmpeg möglich ist. Dafür könnte es bessere Tools wie Windows Movie Maker geben. - slhck
Ja, du brauchst etwas mit einem Storyboard wie Movie Maker. - surfasb


Windows DVD Maker ist eine Komponente von Windows 7 Home Premium und höher. Es ist sehr einfach, eine Sequenz von Bildern aufzunehmen und einen Soundtrack darauf anzuwenden. Es wird nicht nur auf DVD gebrannt - Sie können auch in einer Datei speichern.


2
2017-11-13 22:43





Ich habe versucht, Video mit mehreren Bildern und Soundtrack zu erstellen, Folgen Sie diesen Schritten, funktioniert für mich irgendwie:

  1. Erstellen Sie eine Datei, die den Bildpfad und die Dauer für jedes Bild auflistet Bild-Liste.txt

    file 'imgs/114_1.png'
    duration 9
    file 'imgs/114_2.png'
    duration 7
    file 'imgs/114_2.png'
    

    Hinweis: Wiederholen Sie das letzte Bild zweimal und geben Sie keine Dauer für den letzten Eintrag ein.

  2. Erstellen Sie eine andere Datei, die den Audiodateipfad enthält audio-list.txt

    file 1.mp3
    duration 9
    file 2.mp3
    duration 6
    
  3. ffmpeg Magie!

    ffmpeg -f concat -safe 0 -i img-list.txt -f concat -safe 0 -i audio-list.txt -c:a aac -pix_fmt yuv420p -crf 23 -r 24 -shortest -y -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4
    

1
2018-04-26 21:59





Befolgen Sie die folgenden Schritte:

  1. Erstellen Sie den Film mit Windows Movie Maker (Sie können die Länge der Anzeige für jeden Stand angeben)
  2. Von Windows Movie Maker zu MP4 kodieren
  3. Transcodiere das Video in VidCoder, File Factory oder ähnlichem, indem du z. B. 2FPS (brauchst nicht 24FPS für Standbilder) spezifizierst und die Audioqualität hoch hältst

0
2018-01-24 08:10