Я возился с видео h264, загруженным с помощью FFmpeg на iPhone 3GS. Проблема в том, что к любым видео, записанным в «книжной» ориентации, применена матрица преобразования, заставляющая их отображать повернутые на 90 градусов против часовой стрелки.
Из того, что я понимаю до сих пор, мне просто нужно изменить матрицу преобразования в атоме "tkhd". Проблема в том, что у меня проблемы с доступом или изменением этих данных. Я проверил реализацию FFmpeg для:
static int mov_read_tkhd(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
, который ясно показывает, как происходит доступ к матрице в avformat, но когда я пытаюсь получить доступ к байту заголовка, используя те же функции, я не получаю никаких рациональных значений. Даже если бы я успешно вытащил матрицу, я не уверен, как заменить ее? В FFmpeg есть функции для извлечения и добавления заголовка дорожки, но кажется, что ничего заменить нельзя?
Любая помощь будет принята с благодарностью.
Спасибо,
Matt.