2015-03-26 2 views
0

Использование API FFmpeg C У меня есть кодирование и декодирование видео. Однако перекодированный видеопоток не поддерживает ориентацию исходного видео (вращение). Таким образом, вертикальные видео были перевернуты горизонтально.FFmpeg C API устанавливает кодированное вращение кадра

Я не уверен, как это решить. Есть ли заданное поле метаданных? Использование MediaInfo Я вижу, что исходное видео имеет поле метаданных «Вращение: 90 °», а новое видео - нет. Или каждый кодированный кадр должен быть повернут вертикально?

Я просмотрел side_data кадра декодирования, но он пуст.

for (j = 0; j < decoded_frame->nb_side_data; j++) { 
    AVFrameSideData *sd = decoded_frame->side_data[j]; 
    if(sd->type == AV_FRAME_DATA_DISPLAYMATRIX) { 
     LOGI("=> displaymatrix: rotation of %.2f degrees", av_display_rotation_get((int32_t *)sd->data)); 
    } 
} 

ответ

Смежные вопросы