Когда я пытаюсь извлечь aac из webm
, будут несоответствия продолжительности. aac
на десять минут меньше. Разные webm
видео, зазор не тот.
webm
видео создается с помощью chrome extension
chrome.tabCapture.capture
код:
chrome.tabCapture.capture({
video: true,
audio: true,
videoConstraints: {
mandatory: {
minWidth: 1920,
minHeight: 1080,
maxWidth: 1920,
maxHeight: 1080,
maxFrameRate: 30,
minFrameRate: 30,
}
}
})
Приведенный выше код вернет поток, я буду использовать JS MediaRecorder, чтобы обработать этот поток и, наконец, сохранить его как файл webm.
код:
new MediaRecorder(stream, {
audioBitsPerSecond: 128000,
videoBitsPerSecond: 2500000,
mimeType: 'video/webm;codecs=vp9'
})
Если вы не знаете значение приведенного выше кода, не беда, поясню основную информацию:
- ширина:
1920
- рост:
1080
- FPS:
30
- аудиобиты:
128000
- биты видео:
2500000
- mimeType:
video/webm;codecs=vp9
Я пробовал много методов, например, следующие:
# 1
ffmpeg -i ./source.webm -y -fflags +genpts -max_muxing_queue_size 99999 -r 15 -crf 30 -filter:v crop=750:560:0:0 ./x.mp4
ffmpeg -i ./x.mp4 -y -vn -acodec libfdk_aac -b:a 200k ./x.aac
# 2
ffmpeg -i ./source.webm -y -vn -acodec libfdk_aac -b:a 200k ./x.aac
# 3
ffmpeg -i ./source.webm -y -vn -acodec libfdk_aac -b:a 200k -map 0 ./x.aac
# 4
ffmpeg -i ./source.webm -y -max_muxing_queue_size 99999 -r 15 -crf 30 -filter:v crop=750:560:0:0 ./x.mp4
ffmpeg -i ./source.webm -y -vn -acodec aac -b:a 200k ./x.aac
# etc.
Но все без исключения провалились. Мучаюсь с этой проблемой 4 дня.
URL-адрес загрузки веб-файла: https://drive.google.com/file/d/1m4fC1hU-tXFPOZayrYCs-yteSTxw_TaW/view?usp=sharing