Я хотел бы извлекать потоки из видеофайлов WebM без их конвертации (повторного сжатия). Может ли кто-нибудь порекомендовать программное обеспечение, которое позволит это сделать?
решение1
Поскольку WebM является подмножеством Matroska,mkvtoolnixдолжен позволить вам разбить файлы на части. Он с открытым исходным кодом, кроссплатформенный, и автор предоставляет бинарники для Windows.
решение2
Чтобы извлечь аудио из файла WebM, используйте инструмент ffmpeg (https://www.ffmpeg.org/download.html) :
ffmpeg -i "input.webm" -vn -acodec copy "output.oga"
Пояснение:
«-i input.webm» обозначает входной файл,
«-vn» удаляет видеопоток из выходного файла
, «-acodec copy» указывает ffmpeg копировать аудиопоток «как есть» (без повторного сжатия),
«output.oga» обозначает выходной файл.
Примечание: используйте кавычки "" вокруг имен файлов, содержащих пробелы.
Расширение выходного файла должно соответствовать формату аудиопотока, содержащегося в исходном файле webm.
Я использую расширение выходного файла «.oga», поскольку большинство обрабатываемых мной файлов webm содержат аудио Vorbis.
В данном случае предпочтительным расширением является «.oga», даже если .ogg по-прежнему часто встречается для файлов, содержащих только аудио Vorbis.
Эта командная строка, основанная на ffmpeg, должна выдать вам аудиоформат из исходного файла:
ffmpeg -i "inputfile.ext"
Найдите строку, содержащую текст «Audio», обычно ближе к концу вывода команды.
В моем случае вывод такой:
Stream #0:1: Audio: vorbis, 44100 Hz, stereo, fltp (default)
Чтение этой страницы Википедии может дать вам некоторое представление о том, какие расширения файлов следует использовать с какими аудиоформатами:http://en.wikipedia.org/wiki/Формат_аудиофайла
решение3
СMKVToolNix – инструменты Matroska для Linux/Unix и Windows:
mkvextract.exe "file.webm" tracks 0:"file_audio.ogg"
(предположим, что идентификатор аудиодорожки равен 0 - вы можете проверить с помощью mkvinfo.exe
или mkvtoolnix-gui.exe
)
решение4
Видеофайлы имеют формат контейнера и форматы кодеков.
Трудно «извлечь» видеофрагменты просто так, но можно изменить формат контейнера на такой, который можно использовать, не изменяя видеофрагменты:
ffmpegиспользуя -vcodec copy
(и, как правило, -an
для удаления любого звука)