Как преобразовать набор кадров YUV в видео, а затем преобразовать видео в кадры YUV без каких-либо потерь, используя C? (Я не хочу конвертировать его в RGB между)
если у вас есть необработанный файл YUV, вы должны указать ffmpeg, какой формат пикселя / субсэмплинг используется. У YUV нет заголовка, поэтому вам также нужно указать ширину и высоту данных.
Следующие команды ffmpeg кодируют 1080p YUV 4: 2: 0 до H.264 с использованием кодера x264 и помещают результат в mp4-контейнер. Эта операция, однако, не без потерь.
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4
Чтобы вернуть YUV-кадры обратно, выполните
ffmpeg -i output.mp4 frames.yuv
Если вы ищете кодировщик без потерь, попробуйте HuffYUV или же FFV1
Других решений пока нет …