Получение зеленого изображения при предварительном просмотре скрытого видео в реальном времени - PullRequest
1 голос
/ 30 мая 2019

Я хочу передавать потоковое видео с телефона Android на сервер видеопотока, например Ant Media Server .Проблема в том, что я получаю Green Image preview на сервере живого видео.

Части кода, в которых я получаю сообщение об ошибке :

  1. Я изменился Yasea (прямая трансляция для Android), чтобы скрыть предварительный просмотр камеры в действии (так что запись возможна отовсюду).Идея скрыть камеру взята из [Android Hidden Camera] (https://github.com/kevalpatel2106/android-hidden-camera).
  2. После скрытия предварительного просмотра камеры я получил аудио пакеты на сервере видеопотока, но я не получил ни одного видеокадра, которыйЯ понял, что должен получить свои собственные рамки для фотографий и отправить их на сервер прямой трансляции. Поэтому я реализовал функцию Camera.PreviewCallback в SRSCameraView .
  3. В onPreviewFrame(byte[] data, Camera camera),Я получил данные изображения NV21 и преобразовал их в YuvImage, как показано ниже:

    YuvImage yuv = new YuvImage(data, camera.getParameters().getPreviewFormat(), camera.getParameters().getPreviewSize().width, camera.getParameters().getPreviewSize().height, null);
    mGLPreviewBuffer.asIntBuffer().put(convertData2IntBuffer(yuv.getYuvData()));
    mPrevCb.onGetNV21Frame(mGLPreviewBuffer.array(), yuv.getWidth(), yuv.getHeight());
    
  4. После этого я поместил YuvData в буфер предварительного просмотра стримера и реализовалбуферный приемник:

    public void onGetNV21Frame(byte[] data, int width, int height) {
        calcSamplingFps();
        if (!sendAudioOnly) {
            mEncoder.onGetYuvNV21Frame(data, width, height, new Rect(0, 0, width, height));
        }
    }
    
  5. Код для mEncoder взят из Yasea.
  6. Теперь я получил видео в реальном времени (и скрытой камеры) (иаудио) в прямом потоке, но получил зеленое изображение, как показано ниже:

Это то, что я получаю в Ant Media Server: Green Android Camera Live Stream Preview

Пожалуйста, помогите мне в решении этой проблемы.Спасибо.

...