Показать сообщение отдельно
  #1 (permalink)  
Старый 09.02.2006, 15:39
Аватар для Ulitka
Ulitka Ulitka вне форума
 
Регистрация: 01.10.2003
Адрес: USA
Сообщения: 7,105
Сказал спасибо: 175
Поблагодарили 239 раз в 173 сообщениях
Вес репутации: 4147
Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute Ulitka has a reputation beyond repute
По умолчанию запись звука из AVI видеофайлов

Вчера мне нужно было записать звуковое сопровождение из нескольких avi видеофайлов в формате mp3, чтоб сохранить на диске и потом слушать. (кстати, это был набор Intermediate to Advanced Linux Series от CBTnuggets, 24 видео файла, если кому нужно, могу дать ссылку на Улитке, а если у вас есть другие linux курсы от CBTnuggets, поделитесь, плз, со мной).



Средствами linux это делается довольно просто, тем более, что пакет transcode с набором самых популярных модулей я уже установил чуть раньше. Кроме того, нам потребуется программа avinfo, при помощи которой мы получим значение play time для каждого avi файла.



1. Все видеофайлы помещаем в одну директорию, и там же создаем примерно такой скрипт:

Код HTML:
#!/bin/bash -x
for file in *.avi
do
time=$(/sbin/avinfo $file|grep audio|awk -F' ' {'print $3'})
/usr/bin/transcode -x null,avi -i $file -c $time -y null,lame -E 44100 -b 96 -o /path/to/files/$file
done
при помощи цепочки из трех команд мы получаем и форматируем значение play time для каждого avi файла.

Код HTML:
/sbin/avinfo file.avi|grep audio|awk -F' ' {'print $3'}
это значение мы и присваиваем переменной time, которая используется в нашем скрипте.



Частоту и битрейт конечного файла можно выбрать как угодно, в зависимости от предпочтений и качества исходного материала, в моем случае это 44100Hz и 96kbps



В зависимости от размера, количества файлов и мощности вашего компьютера, времени может потребоваться от нескольких минут до нескольких часов. Но теперь у нас все автоматизировано...



p.s. transcode по какой-то причине не хочет выходить из цикла, если не указать play time для файла явно, а продолжавет работать дальше, руководствуясь своими представлениями о его значении... Потому и приходится дополнительно использовать avinfo. Кстати, avinfo оказалась достаточно интересной и сама по себе, мне кажется я знаю, как использовать ее на благо посетителей Улитки...
Ответить с цитированием