Я пытаюсь создать видимость изображения в видеоизображении, используя несколько видеофайлов.
Я создал файл .mp4, используя FFMpeg. Видео правильно отображается в приложении Windows «Кино и ТВ». Он не отображается правильно в Chrome, Firefox, VLC Media Player или любом другом приложении, которое у меня есть. Я планирую показывать видео в браузере, поэтому для меня важна межбраузерная поддержка.
Видео было создано с помощью двух частей видеозвонка и выполнения следующих действий с FFMpeg:
- Поместите удаленное видео (remote.mp4) в фоновом режиме.
- Удаленное видео должно показывать первое изображение видео и отображаться в режиме паузы примерно до 2,501 секунды. Я сделал это с помощью itoffset.
- Удаленное аудио также должно начать воспроизводиться через 2,501 секунды. Установка itoffset, похоже, не достигла этого, поэтому я добавил опцию "adelay" в filter_complex.
- Размещаем локальное видео (local.mp4) в качестве наложения в правом нижнем углу.
- Местное видео и аудио должны начать воспроизводиться через 0 секунд (сразу после воспроизведения видео.)
- Повернул фоновое изображение на 90 градусов (оно было записано сбоку).
- Добавьте задержку звука к удаленному видео, чтобы он начал воспроизведение аудиопотока через 2,501 секунды после начала.
- Объедините аудио входы.
- Использовал кодек aac (поскольку он кажется популярным, я полностью готов переключиться, если это будет полезно.)
- Используйте видеокодек h264, опять же, потому что он кажется популярным.
Моя команда FFMpeg выглядит следующим образом:
ffmpeg -itsoffset 2.501 -i remote.mp4 -i local.mp4 \
-filter_complex \
" [1:v]scale=iw/4:-1:flags=lanczos[loc0]; \
[0:v]transpose=1[rotate1]; \
[rotate1][loc0]overlay=main_w-overlay_w-10:main_h-overlay_h-10:eof_action=pass[rem0]; \
[0:a]adelay=2501|2501[0adelay]; \
[0adelay]apad[0a]; \
[0a][1:a]amerge=inputs=2[a]" \
-map "[rem0]" -map "[a]" \
-ac 2 -vcodec libx264 \
-ar 44100 -acodec aac \
completed.mp4
Свойства видео:
- complete.mp4 (16 секунд, 480x640)
- local.mp4 (16 секунд, 640x480)
- remote.mp4 (14 секунд, 640x480, повернут в сторону)
Когда я смотрю законченное видео в браузере, вместо 16 секунд оно говорит 18 секунд. Когда я использую ffprobe в законченном видео, он говорит: Продолжительность: 00: 00: 16.68. Локальное аудио и видео также ожидает 2,501 секунды для воспроизведения в браузере.
Любая помощь будет замечательной. Я понятия не имею, почему браузер отображает его не так, как я намереваюсь. Спасибо!