Привет, я пытаюсь использовать API-интерфейс mediarecorder и генерировать вывод mpeg2ts, который содержит видео h264 и аудио AAC.
1) Когда я записываю только одно видео, сгенерированный выходной файл .ts работает без каких-либо задержек.
2) при записи аудио и видео происходит сбой приложения. поэтому я выполнил поиск в Интернете и обнаружил, что это ошибка в MPEG2TS writer.cpp, найденная в платформе AOSP и основанная на этой ссылке, << code.google.com/p/android/issues/detail?id=37714 >> Я применил предложенный патч и попробовал то же самое. Я был в состоянии кодировать как аудио, так и видео, но сгенерированный выходной файл имел проблемы.
3) писатель не работает правильно. было отставание. сначала воспроизводился видеокадр, затем воспроизводился звук, пока видео зависало, и это следовало.
4) код писателя можно найти здесь -> << androidxref.com/4.2.2_r1/xref/frameworks/av/media/libstagefright/MPEG2TSWriter.cpp >>
и патч, который я добавил, можно найти здесь ->
<< code.google.com/p/android/issues/attachmentText?id=37714&помощь = 377140007000&имя = патч&токен = E7rjXqE55TIp50S7sI04mxbsRCA% 3A1384836153502 >>
5) кто-нибудь, пожалуйста, скажите мне, в чем была проблема с автором и как я должен исправить это в коде, и, пожалуйста, предоставьте некоторые исправленные фрагменты кода.
мой исходный код Android:
myCamera = getCameraInstance();
mediaRecorder = new MediaRecorder();
myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setOutputFormat(8);
mediaRecorder.setOutputFile("/sdcard/myvideo.ts");
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setVideoSize(320, 240);
mediaRecorder.setVideoFrameRate(15);
mediaRecorder.setMaxDuration(20);
mediaRecorder.setMaxFileSize(10000);
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder()
.getSurface());
6) Как только я заставлю ts writer работать, мне нужно отправлять ts пакеты по RTP для потоковой передачи в реальном времени, поэтому, пожалуйста, помогите исправить проблему ts writer.
Задача ещё не решена.
Других решений пока нет …