#ios #mp4 #webcam #mediarecorder #getusermedia
Вопрос:
Я пытаюсь использовать несколько файлов с помощью ffmpeg, и у меня возникли проблемы с продолжительностью файлов, созданных с помощью устройств iOS.
Я записываю видео через веб — камеру устройства с помощью:
mediaRecorder.current = new MediaRecorder(videoPlayer.current.srcObject);
mediaRecorder.current.start();
mediaRecorder.current.ondataavailable = (e) => {
setVideoCreatedData(e.data);
};
Затем я загружаю файл на свой компьютер и проверяю метаданные с помощью https://www.metadata2go.com/ и это результат:
Как вы можете видеть, продолжительность составляет 0 секунд.
Я хочу затем использовать этот файл с ffmpeg, однако он не определяет продолжительность, и поэтому у меня возникают проблемы.
Как я должен записать видео, чтобы получить надлежащую продолжительность метаданных файла?
Комментарии:
1. Вы работаете с так называемыми фрагментированными данными mp4. Он генерируется в режиме реального времени, поэтому его продолжительность (которая начинается в начале потока данных) неизвестна, следовательно, равна нулю. ffmpeg определенно справится с этим.
2. Спасибо за ваш комментарий. Проблема, с которой я столкнулся, заключается в том, что я соединяю несколько видео через ffmpeg, и видео, созданное с помощью устройств iOS, обрабатывается, но затем оно отображается в виде неподвижного кадра на выходном видео, созданном ffmpeg. Другие видео, записанные через Mac или Windows, отлично работают.
3. Кроме того, когда я выполняю ffprobe для файла, я получаю длительность 0,633333.
bit_rate:2244291 duration:0.633333 filename:'https://s3.amazonaws.com/example.webm' format_long_name:'QuickTime / MOV' format_name:'mov,mp4,m4a,3gp,3g2,mj2' nb_programs:0 nb_streams:2 probe_score:100 size:177673 start_time:0