Articles of mediacodec

Android MediaCodec не может декодировать wma-файлы

Мне удалось декодировать MP3 файлы с помощью MediaCodec . Но не удалось декодировать wma файлы типа mime type = x/ms-wma . Код работает как ожидалось для файлов MP3, и я вижу, что MP3Extractor в [MediaExtractor] ( http://androidxref.com/4.1.2/xref/frameworks/av/media/libstagefright/MediaExtractor.cpp ) Но нет такого класса WMAExtractor в libstagefright , Если это проблема, то как MediaPlayer может играть в […]

Android: одновременное воспроизведение большого количества видео

Я разрабатываю чат, и у нас есть высококачественные смайлики с расширением mp4 (размер файла около 300 КБ). Формат GIF не используется из-за низкого качества и ограниченного цвета (256). Мне нужно отображать файлы в ListView в виде циклического видео. Теперь я пытаюсь сделать это с помощью классов TextureView и MediaCodec. Источники можно найти на странице https://github.com/google/grafika […]

Android измените размер VirtualDisplay

У меня есть несколько проблем (на самом деле больше, но это более важные) с API MediaProjection от Android. Чтение графической архитектуры действительно не поможет, поэтому я просто хочу понять, пропустил ли я что-то в своем потоке кода. Предположим, что: У меня есть выделенный поток рендеринга GL, инициализированный, и с текстурой GL, сгенерированной на нем. Я […]

Случайный сбой кодера OMX.qcom

Приложение основано на активности захвата камеры Grafika ( https://github.com/google/grafika/tree/master/src/com/android/grafika ). Пользователь записывает кнопку для записи видео. Случайный сбой происходит на Nexus 5x. Ниже приведены 2 журнала, когда он работает, а когда нет. Скажите, пожалуйста, что может быть причиной этого сбоя, и если вам нужно, чтобы я опубликовал какую-либо часть кода. За работой: 11-21 15:55:22.301 26556-27085/com.testvideo […]

Декодирование выходного буфера из MediaCodec

Я использую библиотеку Android MediaCodec для декодирования видео, хранящегося в файловой системе. Я получаю выходной буфер, который выглядит законным (с правильным bufferinfo.offset и size ). Его формат составляет 256 (это JPEG). Я попробовал расшифровать его с помощью BitmapFactory.decodeByteArray , но результат был null . Кто-нибудь знает правильный способ определения формата выходного буфера? Каков правильный способ […]

Как уменьшить задержку при декодировании видео / avc MediaCodec

Я выполнил несколько простых моментов MoviePlayer.java в примере примера Grafika MediaCodec, работающем на Nexus 5. Я поставил оператор журнала в следующих местах: На линии 203 непосредственно перед decoder.queueInputBuffer На линии 244 после decoder.dequeueOutputBuffer Я сопоставил логические операторы с помощью presentationTimeUs . Вот выдержка из logcat: 01-29 10:56:43.295: I/Grafika(21286): queueInputBuffer index/pts, 2,0 01-29 10:56:43.305: I/Grafika(21286): queueInputBuffer […]

Непоследовательное качество видео при кодировании кадров предварительного просмотра камеры с помощью MediaCodec на Xperia Z1

Я NV21 кадры NV21 из предварительного просмотра камеры. По какой-то причине схема, которая отлично работает на других устройствах, работает неправильно на Sony Xperia Z1 с Android 4.3 . Он отправляет обратно закодированные кадры с неправильным (низким) качеством. Формат MediaCodec – это COLOR_FormatYUV420SemiPlanar который является NV12 (я конвертирую NV21 в NV12 путем замены U и V […]

Как предотвратить java.lang.IllegalStateException, сгенерированный MediaCodec.dequeueInputBuffer

Следующий код генерирует java.lang.IllegalStateException время от времени: int iInputBufIndex = _mcDecoder.dequeueInputBuffer(TIMEOUT_USEC); Где _mcDecoder – это экземпляр MediaCodec. Декодированный поток представляет собой видео H.264. Код работает хорошо в большинстве случаев. Есть ли способ проверить состояние MediaCodec проактивно, чтобы избежать этого исключения? Трассировка стека: java.lang.IllegalStateException at android.media.MediaCodec.dequeueInputBuffer(Native Method) at net.mydomain.android.MYNAMESPACE.MYCLASS.MyMethod0(Unknown Source) at net.mydomain.android.MYNAMESPACE.MYCLASS.ProcessH264(Unknown Source) at net.mydomain.android.MYNAMESPACE.MYCLASS.MyMethod1(Unknown Source) […]

Android: подключение аудио и видео с помощью MediaCodec

Я пытаюсь кодировать видео с камеры и аудио с микрофона с помощью MediaCodec и MediaMuxer. Я использую OpenGL для наложения текста на изображение во время записи. Я взял эти классы в качестве примера: http://bigflake.com/mediacodec/CameraToMpegTest.java.txt https://github.com/OnlyInAmerica/HWEncoderExperiments/blob/master/HWEncoderExperiments/src/main/java/net/openwatch/hwencoderexperiments/ChunkedHWRecorder.java Я написал основной класс, который выполняет кодировку. Он создает 2 потока для записи аудио и видео. Он не работает (сгенерированный […]

Несколько экземпляров MediaCodec

Я сделал видеоплеер, используя библиотеку MediaCodec, и я хотел добавить функцию списка воспроизведения. Я попытался иметь два экземпляра MediaCodec, чтобы сделать более плавный переход между двумя последовательными видео, однако это кажется опасным, на некоторых устройствах (я пробовал S4 с цианоном) он работал отлично, однако в S4 с TouchWiz тот же Код разбился на объявление Media […]