Что значит mkv vp8 opus

Разбор кадров VP8 / OPUS

Я разрабатываю симулятор webrtc в среде Linux, используя язык C. Здесь мне нужно отправить media из одного симулятора webrtc в другой симулятор webrtc. Мне нужно работать с кодеком VP8 и Opus. Теперь я начинаю с кодека VP8. Поскольку я новичок в VP8, пожалуйста, помогите мне понять больше .

Поскольку это симулятор, я не хочу захватывать / воспроизводить media в реальном времени. Мне нужно прочитать аудио / видео данные из файла и отправить их на пульт дистанционного управления. При удаленном извлечении данных media сохраните их в файл.

Какой формат файла содержит закодированные данные VP8? Это формат файла webm или что-то еще?

Предполагая, что файл webm содержит данные кодека VP8 и OPUS (в чем я не уверен), как я могу разобрать кадр за кадром. Например, если я читаю Extract audio frames from AMR-NB file , я могу разобрать AMR frames из файла. Точно так же есть какая-нибудь страница справки, где я учусь разбирать логику для VP кадра.

Или есть какой-нибудь открытый исходный код, с помощью которого я могу разобрать кадры VP8/OPUS из файла webm.

1 ответ

В настоящее время я разрабатываю программное обеспечение для потоковой передачи видео с использованием VP8 и V4L2, но я борюсь с ключевыми понятиями рейтинга кадров. У меня есть базовая рабочая реализация, которая извлекает кадры в цикле, кодирует их и отправляет по RTP (так быстро, как только.

Читайте также:  Что значит укрывная краска

Я только начал узнавать о VP8, так что дайте мне немного слабины, если это глупый вопрос. H.264 пример В прошлом я работал в основном с H.264. Всякий раз, когда мне нужно было разобрать H.264 битные потоки, я использовал libav, чтобы помочь мне и использовать что-то вроде этого av_register_all();.

К2: Начну с вопроса № 2, VP8 соответствует формату WebM.

Q3: Если вы хотите разбирать кадр за кадром, вам нужно знать структуру VP8 и OPUS. Я не знаю, что означает симуляция в вашем сценарии, но в среде WebRTC media данные передаются через RTP. Если вы делаете моделирование без RTP, пожалуйста, начните с шага 2, в противном случае начните с № 1.

  1. Депакетизируйте полезную нагрузку RTP из пакета RTP. Полезная нагрузка RTP содержит информацию о пакете VP8, такую как порядковый номер, timestamp и т. д.
  2. Обратите внимание, что кадр VP8 может состоять из нескольких пакетов VP8, поэтому в основном вам нужно извлечь содержимое кадра и объединить его вместе. Существует несколько способов узнать, состоит ли кадр из нескольких пакетов, не все из них полностью стандартизированы, но на данный момент я бы рекомендовал вам использовать порядковый номер, так как пакеты одного кадра имеют один и тот же SEQ.
  3. Запишите кадр в файл. Если вы хотите создать допустимый файл WebM, используйте такую функцию, как av_write_frame() из LibAV (которую я лично использую).

Я могу порекомендовать вам фрагмент кода, который фактически преобразует необработанные пакеты RTP VP8 в кадры VP8: https://github.com/meetecho/janus-gateway/blob/master/postprocessing/pp-webm.c . Чтение заголовка пакета используется в функциях (preprocess и process).

К4: Я использую LibAV для таких целей (альтернативно FFMPEG).

Я с радостью отвечу на любой другой вопрос.

Похожие вопросы:

Может ли кто-нибудь подкинуть мне какие-нибудь идеи о том, как кодированные кадры VP8 могут быть правильно декодированы в непоследовательном порядке. Что я имею в виду под этим: I.e. У меня есть.

Я хочу создать файл MKV с видеокодеком VP8 и аудиокодеком opus Я попробовал следующую команду в ffmpeg: ffmpeg -y -i ./INPUT.flv -threads 8 -aspect 16:9 -vcodec libvpx -vb 2M -acodec libopus -ac 2.

Я собираюсь использовать Janus Gateway для потоковой передачи с очень низкой задержкой на тысячу зрителей из одного источника. Я стремлюсь к потоковой передаче видео VP8, так как поддержка H.264 еще.

В настоящее время я разрабатываю программное обеспечение для потоковой передачи видео с использованием VP8 и V4L2, но я борюсь с ключевыми понятиями рейтинга кадров. У меня есть базовая рабочая.

Я только начал узнавать о VP8, так что дайте мне немного слабины, если это глупый вопрос. H.264 пример В прошлом я работал в основном с H.264. Всякий раз, когда мне нужно было разобрать H.264 битные.

Я новичок в voip и в настоящее время играю с rtp и srtp. Я создаю прокси-сервер, который преобразует поток srtp в rtp. Я преобразовал SRTP в RTP и сохранил полезную нагрузку в файлы (формат.txt) 1.

У меня есть файл формата Ogg, содержащий OPUS кадров. Согласно моему требованию, мне нужно разобрать этот файл (frames/packets), и отправить сжатые данные OPUS на удаленное устройство через RTP. Мой.

Я пытаюсь создать очень простой кодер webm(vp8/opus), однако не могу заставить звук работать. ffprobe действительно определяет формат и продолжительность файла Stream #1:0(eng): Audio: opus, 48000.

Источник

Может MKV провести VP8 и аудиокодек сочетание опус, и как

Я хочу создать файл MKV с видеокодеком VP8 и аудиокодеком opus

Я попробовал следующую команду в ffmpeg:

Я установил libopus0 в свой Ubuntu, но получаю эту ошибку:

В чем проблема и как я могу исправить эту проблему?

2 ответа

Я новичок в кодировании видео и начинаю путаться с его глубиной. Цель: преобразовать VP8 и аудиокодек закодированного видео RTP поток H.264 закодированных RTP прямая трансляция Вопрос: Каким должен быть мой подход? То, как я на это смотрю, Прием видеопотока (VP8) Извлекайте кадры один за другим.

Может ли кто-нибудь подкинуть мне какие-нибудь идеи о том, как кодированные кадры VP8 могут быть правильно декодированы в непоследовательном порядке. Что я имею в виду под этим: I.e. У меня есть кусок кодированное VP8 и аудиокодек кадров от 1 до X.. ( Кадр I добавляется каждые 25 кадров ) Если я.

ffmpeg позволяет VP9/VP8 & Opus в примере Matroska (MKV/MKA).:

  • Пользователям старых версий придется добавить -strict experimental для Opus.
  • Пользователи древних версий не смогут встроить Opus в Matroska.

Так что, возможно, ты сможешь бежать вот так

Похожие вопросы:

Я пытаюсь кодировать видео с моего webcam в поток VP8. Отправка потока WebRTC из моего webcam с помощью Chrome выглядит довольно хорошо и не использует много энергии CPU. Когда я пытаюсь.

Как перекодировать RGB изображений в кадры VP8 (ключевой кадр + некоторые зависимые кадры)? Итак, я создал несколько изображений, как теперь превратить tham в VP8?

В настоящее время я работаю над интерактивным веб-приложением в javascript, которое визуализирует в реальном времени видео, полученное на веб-странице, и позволяет отправлять вводы с клавиатуры.

Я новичок в кодировании видео и начинаю путаться с его глубиной. Цель: преобразовать VP8 и аудиокодек закодированного видео RTP поток H.264 закодированных RTP прямая трансляция Вопрос: Каким должен.

Может ли кто-нибудь подкинуть мне какие-нибудь идеи о том, как кодированные кадры VP8 могут быть правильно декодированы в непоследовательном порядке. Что я имею в виду под этим: I.e. У меня есть.

Я хотел бы передать rgb кадра (в реальном времени) данных через интернет в виде видеопотока в browser(chrome/firefox). так я получил rgb -> рендеринг — >преобразование yv12 -> завершено VP8 и.

Я использую libsrtp для шифрования srtp в вызове webrtc. После того как я подготовлю пакет RTP, я вызову srtp_protect, чтобы зашифровать его. Он шифрует часть данных и сохраняет заголовок RTP таким.

Я сохранил видеовызов в файл .pcap с помощью Wireshark и хочу получить видео из пакетов RTP. Тип полезной нагрузки RTP пакетов — vp8 , я мог бы узнать пакеты vp8 RTP, используя библиотеку libpcap в.

Источник

Поддержка контейнера мультимедиа матроска (MKV)

В этом разделе описывается поддержка Media Foundation для файлов контейнера мультимедиа матроска (MKV).

Формат MKV может поддерживать несколько видеокодеков и аудиокодеков, таких как H. 264 и AAC Audio. В общем случае контейнеры описывают, как располагаются видео и звуковые данные и какие дополнительные сведения используются для описания этих потоков/V. Контейнеры также могут включать данные, дополняющие потоки/V, такие как название, языки звуковых потоков, подзаголовок или подзаголовки, шрифты для этих субтитров, изображения, сведения о разделах и меню. MKV — это очень гибкий формат, поддерживающий многие из этих функций контейнера. Дополнительные сведения о формате MKV см. в разделе. https://matroska.org

Поддержка функций контейнеров MKV

Функции контейнера MKV поддерживаются в Media Foundation следующими способами.

  • При наличии одной или нескольких видеодорожек будет воспроизводиться первая дорожка.
  • Если имеется одна или несколько звуковых дорожек, будет воспроизводиться первая дорожка.
  • Записи субтитров поддерживаются, но не выбираются (воспроизводятся) по умолчанию.
  • Если имеется один или несколько шрифтов или изображений, то заголовки и изображения не будут отображаться, хотя файл будет загружен и воспроизведен.
  • Сведения о меню не поддерживаются и не отображаются, но файл будет загружен и воспроизведен.
  • Если файлы с главами относятся к дополнительным файлам, дополнительные файлы не воспроизводятся.
  • Миниатюрные изображения доступны при просмотре файлов на USB-накопителях с помощью обозревателя файлов.

Этот набор функций должен позволять воспроизводить большинство файлов MKV, если они содержат поддерживаемые кодеки. Поддерживаются файлы MKV, содержащие видео и звуковые дорожки, закодированные с помощью кодеков, перечисленных в следующем разделе.

Поддерживаемые кодеки MKV

Поддержка видеокодеков для MKV

Идентификатор матроска: V_MPEG4/ИСО/АВК

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_H264
  • Описание: H. 264 Video
  • Идентификаторы FourCC или WAV: H264 Single bitrate

Идентификатор матроска: V_MPEG2

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MPEG2
  • Описание: видео MPEG-2

Идентификатор матроска: V_MPEG1

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MPG1
  • Описание: видео MPEG-1
  • Идентификаторы FourCC или WAV: MPG1

Идентификатор матроска: V_MPEG4/MS/V3

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MP43
  • Описание: кодек Microsoft MPEG 4 версии 3
  • Идентификаторы FourCC или WAV: MP43

Идентификатор матроска: V_MPEG4/ИСО/АСП

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MP4V
  • Описание: видео MPEG-4 Part 2
  • Идентификаторы FourCC или WAV: MP4V

Идентификатор матроска: V_MS/ВФВ/ФАУРКК

  • описание: Карты к нескольким кодекам, которые обычно поддерживаются в формате AVI, доступном в консоли.

Идентификатор матроска: V_THEORA

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_Theora
  • Описание: Сеора
  • Идентификаторы FourCC или WAV: Сео

Идентификатор матроска: V_MPEG4/ИСО/СП

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MP4V
  • Описание: простой профиль ISO MPEG4 (DivX4)
  • Идентификаторы FourCC или WAV: MP4V

Идентификатор матроска: V_MPEG4/ИСО/ап

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MP4V
  • Описание: Расширенный простой профиль MPEG4 ISO (DivX5, Ксвид, FFMPEG)
  • Идентификаторы FourCC или WAV: MP4V

Идентификатор матроска: V_MPEGH/ИСО/ХЕВК

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_HEVC
  • Описание: HEVC/H. 265
  • Идентификаторы FourCC или WAV:

Идентификатор матроска: V_VP8

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_VP80
  • Описание: формат кодека VP8
  • Идентификаторы FourCC или WAV: VP80

Идентификатор матроска: V_VP9

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_VP90
  • Описание: формат кодека VP9
  • Идентификаторы FourCC или WAV: VP90

Идентификатор матроска: V_MJPEG

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_MJPG
  • Описание: перемещение в формате JPEG
  • Идентификаторы FourCC или WAV: МЖПГ

Идентификатор матроска: V_AV1

  • Media Foundation MSFT MF_MT_SUBTYPE: MFVideoFormat_AV1
  • Описание: Аомедиа видео 1
  • Идентификаторы FourCC или WAV: AV01

Поддержка аудиокодеков для MKV

Идентификатор матроска: A_AAC

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_AAC
  • Описание: расширенное аудио кодирование (AAC)
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_MPEG_HEAAC

Идентификатор матроска: A_AC3

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_Dolby_AC3
  • Описание: Dolby AC3
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_DOLBY_AC3_SPDIF

Идентификатор матроска: A_MPEG/L3

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_MP3
  • Описание: MPEG Audio Layer-3 (MP3)
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_MPEGLAYER3

Идентификатор матроска: A_MPEG/L1

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_MPEG
  • Описание: полезные данные звука MPEG-1
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_MPEG

Идентификатор матроска: A_PCM/Инт/Биг

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_PCM
  • Описание: несжатая звукозапись PCM
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_PCM

Идентификатор матроска: A_PCM/Инт/лит

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_PCM
  • Описание: несжатая звукозапись PCM
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_PCM

Идентификатор матроска: A_PCM/ФЛОАТ/ИИЕ

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_Float
  • Описание: несжатое аудио с плавающей запятой IEEE
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_IEEE_FLOAT

Идентификатор матроска: A_ALAC

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_ALAC
  • Описание: аудиокодек Apple без звука
  • Идентификаторы FourCC или WAV:

Идентификатор матроска: A_MPEG/L2

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_MPEG
  • Описание: MPEG Audio 1, 2 Layer II
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_MPEG

Идентификатор матроска: A_DTS

  • Media Foundation MSFT MF_MT_SUBTYPE: MEDIASUBTYPE_DTS_HD
  • Описание: система Digital режим театра System
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_DTS

Идентификатор матроска: A_OPUS

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_Opus
  • Описание: опус
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_OPUS

Идентификатор матроска: A_VORBIS

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_Vorbis
  • Описание: Vorbis
  • Идентификаторы FourCC или WAV:

Идентификатор матроска: A_FLAC

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_FLAC
  • Описание: бесплатный аудиокодек без потерь
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_FLAC

Идентификатор матроска: A_AAC/MAIN

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_AAC
  • Описание: расширенное аудио кодирование (AAC)
  • Идентификаторы FourCC или WAV: WAVE_FORMAT_MPEG_HEAAC

Идентификатор матроска: A_EAC3

  • Media Foundation MSFT MF_MT_SUBTYPE: MFAudioFormat_Dolby_DDPlus
  • Описание: Расширенный AC-3
  • Идентификаторы FourCC или WAV:

Идентификатор матроска: A_TRUEHD

  • Media Foundation MSFT MF_MT_SUBTYPE: MEDIASUBTYPE_DOLBY_TRUEHD
  • Описание: Dolby Труехд
  • Идентификаторы FourCC или WAV:

Идентификатор матроска: A_MS/АКМ

  • MSFT Media Foundation MF_MT_SUBTYPE: Карты к нескольким типам аудио WAVE_FORMAT, определенным в ммрег. h.

Поддержка кодеков субтитров для MKV

Идентификатор матроска: S_TEXT/АСЦИИ

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_SRT
  • Описание: текст ASCII

Идентификатор матроска: S_TEXT/UTF8

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_SRT
  • Описание: обычный текст в кодировке UTF-8

Идентификатор матроска: S_TEXT/ССА

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_SSA
  • Описание: формат субтитров

Идентификатор матроска: S_TEXT/АСС

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_SSA
  • Описание: формат расширенных субтитров

Идентификатор матроска: S_VOBSUB

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_VobSub
  • Описание: субтитры Вобсуб

Идентификатор матроска: S_HDMV/ПГС

  • Media Foundation MSFT MF_MT_SUBTYPE: MFSubtitleFormat_PGS
  • Описание: ХДМВ презентации субтитры графики (ПГС)

Технические сведения о кодеках

Технические сведения о кодеках см. в следующих статьях.

Источник

Оцените статью