Мне в SDP в SIP-пакетах приходят данные про видео
m=video 2025 RTP/AVP 102
a=ptime:20
a=rtpmap:102 H264/90000
a=fmtp:102 profile-level-id=42e00a;packetization-mode=1;max-br=2048
a=sendrecv
Я на андроиде создаю MediaCodec с такими параметрами:
mMediaCodec = MediaCodec.createDecoderByType("video/avc");
MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", 400, 300);
mediaFormat.setByteBuffer("csd-0", ByteBuffer.wrap(header_sps));
mediaFormat.setByteBuffer("csd-1", ByteBuffer.wrap(header_pps));
mediaFormat.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 400 * 300);
mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 90000);
mediaFormat.setInteger(MediaFormat.KEY_CHANNEL_COUNT, 1);
mediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
mMediaCodec.configure(mediaFormat, videoView.getHolder().getSurface(), null, 0);
mMediaCodec.start();
Но, все равно, не могу декодировать поток. Поток получаю из массива байтов в цикле(отдельный поток). Длина каждого пакета не превышает 1312 байт, где 12 это заголовки RTP, дальше еще в каждом пакете есть разделительные байты {0x00,0x00x,0x00,0x01}. С какими параметрами мне нужно создавать кодек для декодировки видеопотока
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется ли смысл вкладывать try{} в еще один try{} ? Ведь можно было обойтись одним
Для примера, есть у меня класс Human() который как один из параметров содержит список Car()
если массив {true, true, true} result = true; если массив {true, false, true} result = false;