Вопрос

Кто-нибудь знает, как я могу получить размер кадра видео MPEG4 (Non H264, I.E. MPEG4 Часть 2) из Raw Video Bitstream? В настоящее время я пишу на заказ мультимедийным источником для Windows Media Foundation, я должен предоставить медиативы, который нуждается в размере кадра.Это не работает без него. Любые идеи? спасибо

Это было полезно?

Решение

Я не понимаю тебя. Вы пытаетесь узнать ширину и высоту потокового видео? Если это так (и я думаю, что это «размерность», которую вы ищете) Вот:

  1. Проанализируйте поток для этого целочисленного генеракодицетагкода (Hex), это всегда первое, что вы будете поток. Если нет, см. В SDP потока (если у вас есть какие-либо, и найдите поле 000001B0, и там он ... только сейчас это Base16 String!
  2. Прочитайте все байты, пока не дойдете до целочисленного генеракодицетагкода (Hex)
  3. Вы должны получить что-то подобное (Hex): config=
  4. Это «заголовок конфигурации потока» или кадр или что точное имя - последовательность видеообъекта. Он проводит всю информацию, декодер должен будет декодировать видеопоток.
  5. Прочитайте последние 4 байта (в моем примере они разделены одним пространством - 000001B6)
  6. теперь наблюдайте эти байты как одно 32-битное целое число без знака ...
  7. получить ширину прочитайте первые 8 бит, а затем умножить то, что вы получаете с 4
  8. Пропустить следующие 7 бит
  9. , чтобы получить высота прочитайте следующие 9 бит
  10. в псевдо-коде:

      WIDTH = readBitsUnsigned(array, 8) * 4;
      readBitsUnsigned(array, 7);
      HEIGHT = readBitsUnsigned(array, 9);
    
  11. Там вы идете ... ширина и высота. (:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top