Servus,
mal wieder eine OT-Frage.
Ich habe bei meiner alten Webcam (Link siehe Signatur) On-Demand ein MP4 mittels ffmpeg (avconv) aus einer Bildserie generiert. Die Bilder wurden ursprünglich von einer USB-Webcam (Microsoft LiveCam HD3000) aufgenommen und mittels ImageMagick (convert) umgerechnet. Das Ganze an einem Raspberry Pi.
Mittlerweile nutze ich die Pi-Kamera über den CSI-Anschluss und verwende raspistill zur Aufnahme. Die Umrechnung bzw. Optimierung der Bilder läuft nach wie vor über IM.
Dummerweise funktioniert jetzt die Konvertierung in ein MP4 nicht mehr.
Hier das Skript:
#!/bin/bash#
# Generate last hour video
rm /var/www/[SCHNIPP]/video/hour/video.mp4
cat /var/www/[SCHNIPP]/images/hour/*.jpg | ffmpeg -f image2pipe -r 12 -vcodec mjpeg -i - -vcodec libx264 -y /var/www/[SCHNIPP]/video/hour/video.mp4 2>&1 1> /dev/null
Alles anzeigen
Die Bilder werden mittels Pipe an ffmpeg/avconv übergeben.
Analyse soweit:
- Keine Fehler im log
- Umwandlung von direkten Aufnahmen schlägt genauso fehl (vor dem convert)
- Untersuchung der Bilder verlief ohne Befund
- Wechsel der Codecs ohne Veränderung
Beim Aufruf von ffmpeg ist zu sehen, dass das Video mit den Dimensionen 64x48 erstellt wird. Eine erzwungene Auflösung hilft aber leider nichts, da die Bilder dann von 64x48 "aufgeblasen" werden. Es sieht so aus, als würde da schlichtweg eine 0 fehlen (die Bilder sind 640x480). Alle Versuche mit raspistill, runterrechnen und umwandeln mit IM und selbst mit der GD haben keine Veränderung gebracht. Google hab ich zu dem Thema schon bis auf Seite 21 ausgelutscht. :(
Beispiele:
Korruptes Stundenvideo: http://cam.formateins.de/video/hour/video.mp4
Korruptes Tagesvideo: http://cam.formateins.de/video/day/video.mp4
Korrektes Tagesvideo: http://cam.formateins.de/video/day/daily-20150608.mp4
Image: http://cam.formateins.de/images/day/2050.jpg
Übersehe ich etwas? Sollte ich das Ganze nochmal von vorne angehen? Welche echten Alterntiven gäbe es, via bash aus einer Bildsequenz ein MP4/H.264 zu generieren?