Я должен создать кадры плаката из видео, размещенных на Amazon S3 через ffmpeg.
Так есть ли способ использовать удаленный видеофайл непосредственно в ffmpeg командной строке как это:
ffmpeg -i "http://bucket.s3.amazonaws.com/video.mp4" -ss 00:00:10 -vframes 1 -f image2 "image%03d.jpg"
ffmpeg просто возвращается:
http://bucket.s3.amazonaws.com/video.mp4: I/O error occurred
Usually that means that input file is truncated and/or corrupted.
Я также пытался вынудить ffmpeg использовать видео mp4 контейнер для чтения:
ffmpeg -f mp4 -i "http://bucket.s3.amazonaws.com/video.mp4" ...
Но никакая удача.
Wget это видео от S3 и обработки его локально хорошо работает, конечно,
а также чтение файла удаленно из другого 'стандарта' http серверы.
Таким образом, я знаю, что ffmpeg поддерживает удаленное чтение файла, но почему не на S3?
Неважно, я нашел простой способ решить свою проблему.
Я установил дистрибутив Amazon Cloudfront для загрузки, указывающий на мою корзину S3.
Через облачный интерфейс файлы доступны с помощью ffmpeg по http:
ffmpeg -i "http://subdomain.cloudfront.net/video.mp4" -ss 00:00:10 -vframes 1 -f image2 "image%03d.jpg"
А передача данных еще дешевле! Но все же интересно, почему это не работает напрямую с S3 ...