Конвертация кадров RAW Blackmagic Intensity Card

737
Collin Price

Я пытаюсь конвертировать необработанные видеокадры, которые я записал с помощью карты Blackmagic Design Intensity. Выходные кадры имеют формат:

YCbCr 4:2:2 packed 8 Bit UYVY Abekas 

Как я могу преобразовать это в более удобный формат? Мои цели - извлечь кадры в виде изображений и наборы кадров в виде видео.

Я пытался использовать FFmpeg для преобразования файлов, но я не могу найти правильный формат. Пример, который я использую, представляет собой файл, содержащий необработанные данные одного кадра. FFmpeg преобразует файл, но он искажен, поэтому я знаю, что это означает, что мой пиксельный формат неверен. Я начинаю думать, что FFmpeg не поддерживает нужный мне формат пикселя.

ffmpeg -s 720x486 -i snapshot.yuv snapshot.jpg 

Вывод получается почти правильный, но в основном зеленый.

Вот вывод из FFmpeg. Формат rawvideo обнаружен неверно. Это должен быть Y422 вместо I420.

ffmpeg version N-64009-g389d453 Copyright (c) 2000-2014 the FFmpeg developers built on Jun 16 2014 15:43:30 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) configuration:  libavutil 52. 89.100 / 52. 89.100 libavcodec 55. 67.100 / 55. 67.100 libavformat 55. 43.100 / 55. 43.100 libavdevice 55. 13.101 / 55. 13.101 libavfilter 4. 8.100 / 4. 8.100 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 [rawvideo @ 0x2af1c20] Estimating duration from bitrate, this may be inaccurate Input #0, rawvideo, from 'snapshot.yuv': Duration: 00:00:00.04, start: 0.000000, bitrate: 139968 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x486, 104976 kb/s, 25 tbr, 25 tbn, 25 tbc [swscaler @ 0x2ae13e0] deprecated pixel format used, make sure you did set range correctly Output #0, image2, to 'snapshot.jpg': Metadata: encoder : Lavf55.43.100 Stream #0:0: Video: mjpeg, yuvj420p, 720x486, q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc Metadata: encoder : Lavc55.67.100 mjpeg Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (mjpeg)) Press [q] to stop, [?] for help [swscaler @ 0x2ae13e0] Warning: data is not aligned! This can lead to a speedloss [rawvideo @ 0x2af2ec0] Invalid buffer size, packet size 174960 < expected frame_size 524880 Error while decoding stream #0:0: Invalid argument frame= 1 fps=0.0 q=7.0 Lsize=N/A time=00:00:00.04 bitrate=N/A  video:140kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown 
1
Если ffmpeg не поддерживает его, вы можете [отправить отчет об ошибке] (http://ffmpeg.org/bugreports.html) с примером изображения и текущим выводом ffmpeg. Может быть, какой-то разработчик может добавить функцию разбора. slhck 9 лет назад 0
Вы можете заставить ffmpeg читать определенный формат, сказав `ffmpeg -f rawvideo -pix_fmt -s -i input.yuv ... `, где формат пикселя является одним из тех, что перечислены в` ffmpeg -pix_fmts` slhck 9 лет назад 0

0 ответов на вопрос

Похожие вопросы