Проблемы с сохранением видео файла с webrtc в Android - PullRequest
3 голосов
/ 17 марта 2019

Я занимаюсь разработкой приложения для видеочата на основе webrtc, в настоящее время работает видеовызов, но я хочу записать видео из удаленного видеопотока с помощью VideoFileRenderer, например, существует множество реализаций интерфейса: https://chromium.googlesource.com/external/webrtc/+/master/sdk/android/api/org/webrtc/VideoFileRenderer.java это реализация, которую я использую.Это без проблем сохраняет видео в файл, но я могу воспроизводить его только на рабочем столе после использования кодека, потому что файл .y4m, а не .mp4, и когда я пытаюсь воспроизвести его с помощью VideoView, он говорит, что не может воспроизводить видеоДаже если я попытаюсь воспроизвести видео с помощью videoPlayer, который поставляется с Android, он не может его воспроизвести, я могу воспроизвести его только с помощью MXPlayer, VLC или любого другого приложения с кодеками на рабочем столе.

чтобы упростить вопрос: How can I play video.y4m on native android VideoView?

Я упросту это больше, я предполагаю, что я не понимаю формат записанного файла, вот код, который я использую для записи файла:

Когда начинается запись:

remoteVideoFileRenderer = new VideoFileRenderer(
                fileToRecordTo.getAbsolutePath(),
                640,
                480,
                rootEglBase.getEglBaseContext());
        remoteVideoTrack.addSink(remoteVideoFileRenderer);

Когда заканчивается запись:

remoteVideoFileRenderer.release();

Теперь снова вопрос: у меня есть «fileToRecordTo», и этот видеофайл можно воспроизвести в GOM(windows), VLC (windows, mac и Android), MXPlayer (Android), но я не могу ни воспроизвести его с помощью проигрывателя, который встроен в Android (если бы работал, я бы использовал этот проигрыватель в своем приложении), ни наAndroid native videoView.

любая помощь.

...