Удаление лишней звуковой дорожки

Разные проблемы звука, видео, обсуждение разных устройств и т.д.

Модератор: Модераторы разделов

mixaiii
Сообщения: 93

Удаление лишней звуковой дорожки

Сообщение mixaiii »

Здравствуйте.
У меня такой вопрос, можно ли как-нибудь по-простому (например через какой-нибудь скрипт) удалить лишнее звуковые дорожки у видеофайла?
Как 1 видеофайл обработать я знаю (через avidemuxe), а когда файлов очень много (больше 50-ти), то это не удобно и утомительно
Можно как-нибудь другим способом это сделать?
Быть может в avidemuxe это можно как-нибудь автоматизировать (чтоб он сам прошелся по папке и убрал лишнюю звуковую дорогу)?
Спасибо сказали:
kreator
Сообщения: 384
ОС: LFS

Re: Удаление лишней звуковой дорожки

Сообщение kreator »

Есть несколько вариантов:
1. avidemux сохраняет проект как javascript, что дает большие возможности для подобных манипуляций.
2. Можно использовать консольный avidemux (avidemux2_cli) + простой шелл скрипт.
3. Если mkv подходит в качестве выходного формата, то можно (даже нужно) вместо avidemux2_cli использовать mkvmerge (из mkvtoolnix) + скрипт.

Недавно использовал третий вариант (мне наоборот нужно было добавить звуковую дорожку и титры). Тактика следующая - запускаем mmg, открываем первый файл меняем всё что нужно и
копируем получившуюся команду (либо man mkvmerge).
Далее пишем скрипт (пушу для zsh, непомню как в bash):

Код: Выделить всё

#!/usr/bin/zsh

foreach f (*.avi) {
  mkvmerge -o $f:r.mkv  -a 1 -d 0 -S $f --track-order 0:0,0:1
}
Спасибо сказали:
mixaiii
Сообщения: 93

Re: Удаление лишней звуковой дорожки

Сообщение mixaiii »

1. к сожалению языков программирования не знаю :(
2. как я понял mkvmerge пережмет видео, что возможно его ухудшит
Спасибо сказали:
kreator
Сообщения: 384
ОС: LFS

Re: Удаление лишней звуковой дорожки

Сообщение kreator »

mkv - это контейнер, как и avi/mpg/mp4/ogm. Контейнер нужен для совмещения нескольких потоков. Сами потоки могут быть пакованные (xvid/x264/mp3/etc) или нет (raw,pcm). На данный момент mkv самый прогрессивный контейнер - может содержать большое количество как аудио, так и видео потоков, сжатых самыми разными кодеками. А также титры всех (или почти всех) форматов. Часто используется для x264, так как поддерживает нелинейную частоту кадров, как mp4. Но в отличии от mp4 оставляет полную свободу в выборе аудио кодека.
Спасибо сказали:
Аватара пользователя
Red Gremlin
Сообщения: 512
Статус: самоучка
ОС: Rosa 2016 Fresh

Re: Удаление лишней звуковой дорожки

Сообщение Red Gremlin »

2. как я понял mkvmerge пережмет видео, что возможно его ухудшит

Нет, он перегонит в другой контейнер, более мощный и современный, заодно на процент-другой размер уменьшит за счет меньшего объема служебной информации.

1. к сожалению языков программирования не знаю sad.gif

Ну, хоть баш-то знать надо. В башевской консоли (по умолчанию почти везде идет именно bash) нужное действие сделает команда
for f in *.avi ; do mkvmerge -o "$f.mkv" -a 1 -d 0 -S "$f" --track-order 0:0,0:1 ; done
"В мире есть случайность, есть предопределенность и есть то, что ты планируешь совершить."
Спасибо сказали:
mixaiii
Сообщения: 93

Re: Удаление лишней звуковой дорожки

Сообщение mixaiii »

Спасибо, работает!
только вот Totem, mkv файлы, при перемотки останавливает воспроизведение через несколько секунд
но mplayer играет и перематывает нормально и без ошибок
ещё раз спасибо!
п.с. и так, ради интереса, для avi значит так же не сделать?
Спасибо сказали:
kreator
Сообщения: 384
ОС: LFS

Re: Удаление лишней звуковой дорожки

Сообщение kreator »

п.с. и так, ради интереса, для avi значит так же не сделать?

Можно и для avi, если использовать avidemux2_cli вместо mkvmerge.
Спасибо сказали: