Как заполнить структуру Avframe, чтобы кодировать видео Yuy2 (или Uyvy) в H265C++

Программы на C++. Форум разработчиков
Anonymous
Как заполнить структуру Avframe, чтобы кодировать видео Yuy2 (или Uyvy) в H265

Сообщение Anonymous »

Я нашел этот поток < /p>
ffmpeg: сбрасывание данных YUV в структуру AVFrame < /p>
Я хочу сжать видеопоток в формате Yuy2 или Uyvy, скажем, H265. Если я правильно понимаю ответы, приведенные в этом потоке, я должен быть в состоянии использовать функцию AV_IMAGE_FILL_ARRAYS, чтобы заполнить данные и размещать массивы объекта AVFRAME, например: < /p>
`av_image_fill_arrays(m_pFrame->data, m_pFrame->linesize, pData, ePixFmt, m_pFrame->width, m_pFrame->height, 32);
< /code>
`
и вызовать avcodec_send_frame, а затем вызов avcodec_receive_packet, чтобы получить кодированные данные. < /p>
Я, должно быть, что -то сделал не так. Результат неверен. Например, вместо видео с лицом человека, показывающим в середине экрана, я получаю в основном зеленый экран с частями лица, отображаемых в левом нижнем и нижнем правом уголках.
может кто -нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/795 ... -uyvy-into

Вернуться в «C++»