Разделить андроид видео на несколько файлов во время записи - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть требование, при котором я должен записывать видео и сохранять его в виде файлов.Как я могу разделить видео на несколько файлов во время записи без потери видеокадра

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Это возможно, если вы используете Camera2 API, видео и аудио кодеки и MediaMuxer.По сути, кодеки отправляют буферы данных в MediaMuxer, который создает и записывает в файл .mp4.В любой момент вы можете начать запись буферов в другой MediaMuxer, запуская новый файл.Предыдущий MediaMuxer может затем закрыть и сохранить свой файл.Есть много документации для чтения и некоторые трудности.Например, файл .mp4 должен начинаться с ключевого кадра.Можно запросить ключевой кадр у кодека, но это не произойдет сразу, поэтому вы должны подождать ключевой кадр, прежде чем начинать новый файл.Вы, конечно, должны следить за тем, как должны записываться данные в файлы.Если ваши файлы имеют какое-то ограничение по размеру, вы должны запросить ключевой кадр, прежде чем достигнете этого предела, чтобы освободить место для кадров, которые появятся до появления ключевого кадра.И это продолжается, но в зависимости от требований вашего приложения, вы можете заставить его работать довольно хорошо.

0 голосов
/ 29 января 2019

Невозможно записывать непрерывные видео без промежутков времени между ними, потому что для записи MediaRecorder должен иметь доступ к аппаратному обеспечению камеры и использовать Camera.unlock () и Camera.lock () для управления доступом.

Чем лучшеПодход состоит в том, чтобы записывать видео в цикле (для одного потока) или использовать два потока с реализацией семафора, набирающей около 50 мс времени ...

Обычно временной интервал составляет от 1 до 2 секунд.

Если вы хотите больше подробностей, прокомментируйте мой пост, и я могу дать вам более подробную информацию ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...