Saboteur, источник - функция из самописной библиотеки для нестандартного устройства наблюдения. Она будет отдавать целый кадр за вызов, и тут проблема: мало времени на оборачивание этих кадров в сложный формат (и тем более, на что-то вроде PNG), так как жать надо чуть не в реалтайм на 1280х1024 и 30fps. Место в ФС тоже тратить нельзя: количество файлов ограничено. Так и возникла задача. Идеальным был бы способ бросать куда-нибудь в готовый буфер просто байтовые массивы без заголовков (отдаются кадры именно так), чтобы ffmpeg их потом сжимал на gpu.
Морочиться с документацией самого ffmpeg не особенно хочется (на поддержку библиотеки уходит много сил), поэтому, если дадите работающий пример прямой работы с libavcodec и nvenc, буду крайне признателен.
Похоже, если не примем решение вообще отказаться от Qt, будем использовать третий вариант, так как на выходе должны быть линейные массивы, представляющие видеокадры HDTV.
Этот пример я видел, но меня особо интересуют параметры кадра и потока. Хотелось бы получить представление, что там с чем едят, чтобы не тыкаться в структуры вслепую. Не знаете, где их перечни и подробное описание посмотреть?
Вот файл RIFF. http://ifolder.ru/27951430
При попытке его прогнать рипперами они ловят от 2 до 8 вложенных RIFF-файлов с тем же размером, что и исходный.
Обработал файл программой Extractor 2.5. Она показала наличие внутри формата — буквально тысяч файлов TXT, содержащих по одной строке вида "@v3.75", нескольких файлов PSB и 4 огромных файлов SWF. Однако открыть эти файлы мне тоже не удается — их формат явно не соответствует заявленным расширениям.
Самым интересным показался файл с расширением RIFF, а также его двойник с расширением RA. Однако, программ, способных открыть эти с виду обычные аудиофайлы — у меня тоже не нашлось. Не знаете, что могло храниться в 97 году в RIFF?