Цель - записать видео с монитора ноутбука, прокомментировав его. Видео не игровое.
Но вот незадача: при подключение bluetooth-гарнитуры звук совсем плохой получается, хуже чем с микрофона ноута. При этом если писать на диктофон на телефон через эту же гарнитуру, то речь слышно чётко.
Есть ли возможность звук с диктофона на телефоне наложить на видео, записанное с экрана ноутбука, автоматически синхронизировав звук и видео по реальному времени?
Пользуюсь FFMpeg.
Наложить на видео звук, записанный на другом устройстве
Модератор: Модераторы разделов
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Наложить на видео звук, записанный на другом устройстве
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Наложить на видео звук, записанный на другом устройстве
Не то.
Пример:
В 15:12:27 на компе щёлкнул кнопку Ctrl+R, началась запись видео с экрана;
В 15:12:35 на телефоне тапнул на диктофон и начал запись с гарнитуры;
Имеются 2 файла: один видео, другой аудио, записанные с разных устройств и начало у каждого в разное время.
Есть ли способ совместить этих двух по реальному времени? Чтобы речь соответствовала показываемому на видео?
Пример:
В 15:12:27 на компе щёлкнул кнопку Ctrl+R, началась запись видео с экрана;
В 15:12:35 на телефоне тапнул на диктофон и начал запись с гарнитуры;
Имеются 2 файла: один видео, другой аудио, записанные с разных устройств и начало у каждого в разное время.
Есть ли способ совместить этих двух по реальному времени? Чтобы речь соответствовала показываемому на видео?
Re: Наложить на видео звук, записанный на другом устройстве
не знаю получится или нет, но можно попробовать так
если не получится, пишите что не так.
Shell
вырезать 8 сек с видео
ffmpeg -ss 00:00:00 -t 00:00:08 -i in.mp4 -vcodec copy -acodec copy in2.mp4.mp4
добавить звук
ffmpeg -i in2.mp4 -i audio.mp3 -codec copy -shortest output.mp4
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Наложить на видео звук, записанный на другом устройстве
То самое. Только для записи, начинающейся раньше, надо ещё добавить опцию -ss <время>.Eronex писал: ↑22.08.2019 10:21Не то.
Пример:
В 15:12:27 на компе щёлкнул кнопку Ctrl+R, началась запись видео с экрана;
В 15:12:35 на телефоне тапнул на диктофон и начал запись с гарнитуры;
Имеются 2 файла: один видео, другой аудио, записанные с разных устройств и начало у каждого в разное время.
Есть ли способ совместить этих двух по реальному времени? Чтобы речь соответствовала показываемому на видео?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Наложить на видео звук, записанный на другом устройстве
В том и дело, что не тоBizdelnick писал: ↑22.08.2019 13:42То самое. Только для записи, начинающейся раньше, надо ещё добавить опцию -ss <время>.Eronex писал: ↑22.08.2019 10:21Не то.
Пример:
В 15:12:27 на компе щёлкнул кнопку Ctrl+R, началась запись видео с экрана;
В 15:12:35 на телефоне тапнул на диктофон и начал запись с гарнитуры;
Имеются 2 файла: один видео, другой аудио, записанные с разных устройств и начало у каждого в разное время.
Есть ли способ совместить этих двух по реальному времени? Чтобы речь соответствовала показываемому на видео?
Будет несколько записей. Получается нужно каждый раз узнавать величину смещения по времени, потом вручную добавлять эту величину при склеивании аудио с видео... Хотелось бы автоматизировать этот процесс.
Мысли такие:
1. Возможно в видеозаписи и звуке есть таймстампы, которые указывают на реальное время записи? А так как комп и телефон синхронизированны по времени с точностью до миллисекунд, то ориентируясь на таймстампы реального времени можно автоматически посчитать смещение и склеить фрагменты.
2. Таймстампов с реальным временем в записях нет, но есть время создания файлов. Тогда можно посчитать смещения по ним. А является ли время создания файлов с записями реальным? Ведь есть буффер и, возможно, время создания файла будет разниться с реальным началом записи. Тогда такой вариант не подходит.
Но полюбому кто-ниудь сталкивался с такой задачей. Как решить не вручную?
- Bizdelnick
- Модератор
- Сообщения: 20793
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Наложить на видео звук, записанный на другом устройстве
А Вы как хотели?
Из чтения всё той же документации ffmpeg несложно понять, что таймстемпы в медиафайлах начинаются с нуля (за исключением потоковых форматов, в которых начало может быть произвольным).
Ну попробуйте.
Shell
% touch file1
% touch file2
% time1=$( stat -c %Z file1 )
% time2=$( stat -c %Z file2 )
% echo $(( time2 - time1 ))
124
%
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Наложить на видео звук, записанный на другом устройстве
Взять простейший видеоредактор, загнать в него все материалы и нормально без заморочек всё синхронизировать.
В ffmpeg Вы задолбаетесь подгонять эти куски хотя бы потому, что у Вас общая длительность видеопотока отличается от общей длительности аудиопотока, не говоря уже о всяких тонкостях, вроде опорных кадров, алгоритмов сжатия и прочих подобных вещах.
Re: Наложить на видео звук, записанный на другом устройстве
Вообще-то все эти задачи для видеоредактора. Всё равно же видеодорожку облагораживать рекомендуется. А аудио -- вообще без вариантов, даже если оно изначально было записано вместе с видео.
Я могу кое-что про сведение и редактирование аудио рассказать, но с нелинейными видеоредакторами толком не работал. Так что рекомендаций дать не могу. Но эта задача -- для них. И явно не для пакетной обработки.
Я могу кое-что про сведение и редактирование аудио рассказать, но с нелинейными видеоредакторами толком не работал. Так что рекомендаций дать не могу. Но эта задача -- для них. И явно не для пакетной обработки.