- Разбор кадров VP8 / OPUS
- 1 ответ
- Похожие вопросы:
- Может MKV провести VP8 и аудиокодек сочетание опус, и как
- 2 ответа
- Похожие вопросы:
- Поддержка контейнера мультимедиа матроска (MKV)
- Поддержка функций контейнеров MKV
- Поддерживаемые кодеки MKV
- Поддержка видеокодеков для MKV
- Поддержка аудиокодеков для MKV
- Поддержка кодеков субтитров для MKV
- Технические сведения о кодеках
Разбор кадров 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.
- Депакетизируйте полезную нагрузку RTP из пакета RTP. Полезная нагрузка RTP содержит информацию о пакете VP8, такую как порядковый номер, timestamp и т. д.
- Обратите внимание, что кадр VP8 может состоять из нескольких пакетов VP8, поэтому в основном вам нужно извлечь содержимое кадра и объединить его вместе. Существует несколько способов узнать, состоит ли кадр из нескольких пакетов, не все из них полностью стандартизированы, но на данный момент я бы рекомендовал вам использовать порядковый номер, так как пакеты одного кадра имеют один и тот же SEQ.
- Запишите кадр в файл. Если вы хотите создать допустимый файл 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
- Описание: ХДМВ презентации субтитры графики (ПГС)
Технические сведения о кодеках
Технические сведения о кодеках см. в следующих статьях.
Источник