Announcement

Collapse
No announcement yet.

запись звука из AVI видеофайлов

Collapse

Forum Topic List

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • запись звука из AVI видеофайлов

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



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



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

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



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



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



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

  • #2
    Re: запись звука из AVI видеофайлов

    Так ведь в AVI звук и так обычно уже сжат!

    Его нужно просто выгрузить. Не знаю, как в Линуксе, а в Виндазе это можно сделать ВиртуалДабом за считанные секунды. Получаем WAV-файл (уже сжатый в MPEG-Layer3), который превращается в MP3 простой заменой заголовка. Например, с пом. wavemp3. Даже если его просто переименовать, он будет играться любым mp3-плейером (хотя это, имхо, не кошерно).

    А ты, фактически, mp3 распаковываешь в чистый wav, а потом лэймом его обратно кодируешь в mp3. (если я правильно понял процедуру). При этом качество будет неминуемо ухудшаться. А если у исходного звука битрейт был ниже, чем у конечного файла, то тогда получается абсурд вдвойне.

    Comment


    • #3
      Re: запись звука из AVI видеофайлов

      сначала я пробовал 'вынимать' чистый wav,
      HTML Code:
      /usr/bin/transcode -x null,avi -i $file -c $time -y null,wav -E 44100 -b 96 -o /path/to/files/$file
      но файлы получались ровно в два раза больше, чем через lame. В чем дело? Правда качество у получающихся wav файлов действительно было хоть и немного, но все же заметно лучше... Битрейт для audio в исходном AVI файле (судя по показаниям того же avinfo) был 192kbps.



      Кстати, veey, меня сын попросил записать ему саундтрек из "castle in the sky" by miyazaki, у меня есть DVD, как это лучше сделать в windows, потому как в linux с этим справляется тот же transcode? (о том что получилость, я расскажу).



      Кроме того, судя по документации на transcode можно 'вырезать' из широкоформатных видеофайлов черные блоки по краям кадра, virtual dub делает такое?

      Comment


      • #4
        Re: запись звука из AVI видеофайлов

        Ulitka писал(а) Thu, 09 February 2006 23:48
        сначала я пробовал 'вынимать' чистый wav,
        HTML Code:
        /usr/bin/transcode -x null,avi -i $file -c $time -y null,wav -E 44100 -b 96 -o /path/to/files/$file
        но файлы получались ровно в два раза больше, чем через lame. В чем дело? Правда качество у получающихся wav файлов действительно было хоть и немного, но все же заметно лучше... Битрейт для audio в исходном AVI файле (судя по показаниям того же avinfo) был 192kbps.
        ну если там 192, то это как раз в 2 раза больше, чем 96.

        Цитата:


        Кстати, veey, меня сын попросил записать ему саундтрек из "castle in the sky" by miyazaki, у меня есть DVD, как это лучше сделать в windows, потому как в linux с этим справляется тот же transcode? (о том что получилость, я расскажу).



        Кроме того, судя по документации на transcode можно 'вырезать' из широкоформатных видеофайлов черные блоки по краям кадра, virtual dub делает такое?
        Я когда этим занимался (пару лет назад), использовал набор бесплатных утилит MPEG2AVI.

        Там, собственно, одна тонкость. На DVD звук обычно идет в формате ac3 (т.е. многоканальный). Там в комплекте есть декодер, который переводит в обычный 2-канальный звук, который можно сахранить в виде mp3.

        Т.е. я делал в таком порядке:

        1. сграбить DVD на диск (я использовал SmartRipper)

        2. с помощью MPEG2AVI делается все остальное.

        В итоге можно получить видео и звук в любом нужном формате. При желании можно все с пом. VirtualDub (который тоже бесплатный) свести в AVI.

        Comment


        • #5
          Re: запись звука из AVI видеофайлов

          В принципе, я перепробовал много всяких утилит (все уже и не упомню), и MPEG2AVI далеко не самая удобная из них. Она сама консольная и с ней в комплекте идет примочка с дебильным интерфейсом для подбора параметров командной строки. Но зато она позволяет очень гибко и качественно все сделать. Наверно поэтому я на ней и остановился.

          Если тебя интересует только звук, то проще всего будет любым dvd-грабером (напр. SmartRipper) скопировать диск, а потом утилитой ac3dec сконвертировать звук.

          Comment


          • #6
            Re: запись звука из AVI видеофайлов

            Ulitka писал(а) Thu, 09 February 2006 23:48
            Кроме того, судя по документации на transcode можно 'вырезать' из широкоформатных видеофайлов черные блоки по краям кадра, virtual dub делает такое?
            virtualdubом я не пробовал. Возможно, к нему есть соответствующий фильтр. Но....

            Дело в том, что такая манипуляция потребует перекодирования видеоконтента. А если так, то совершенно неважно, умеет ли это VirtualDub или любой другой редактор, т.к. это может делать практически любой кодировщик (divx, xvid, и т.п.). А VirtualDub (или любой другой редактор) все равно для перекодирования видео будет использовать внешний кодек.

            Comment


            • #7
              Re: запись звука из AVI видеофайлов

              Уважаемый Veey.

              Посколъку вы тут упоминаете Virtual Dub,Вы может исполъзуете ету программу часто и может бытъ подскажете как в ней можно разделитъ филъм объомом более 1Гб на 2 поменъше, чтобы можно было бы ети 2 чаctи записаът на CD. Мне подсказали ету программку, но что-то у мена не получилосъ. Когда ставлю сегмент записатъся, он получаетсыа каких-то невероыатных размеров.



              Или ето можно сделатъ другой какой-то программкой, то подскажите.



              Спасибо

              Comment


              • #8
                Re: запись звука из AVI видеофайлов

                Нужно в меню Video включить Direct Stream Copy.

                Если этого не сделать, то программа будет перекодировать видео в соответствии с кодеком по умолчанию.

                Comment


                • #9
                  Re: запись звука из AVI видеофайлов

                  Viktorija писал(а) Tue, 07 March 2006 13:03
                  Уважаемый Veey.

                  Посколъку вы тут упоминаете Virtual Dub,Вы может исполъзуете ету программу часто и может бытъ подскажете как в ней можно разделитъ филъм объомом более 1Гб на 2 поменъше, чтобы можно было бы ети 2 чаctи записаът на CD. Мне подсказали ету программку, но что-то у мена не получилосъ. Когда ставлю сегмент записатъся, он получаетсыа каких-то невероыатных размеров.



                  Или ето можно сделатъ другой какой-то программкой, то подскажите.



                  Спасибо




                  Сюда!

                  http://vcdrookie.com/rus/Video /JoinAndCut/HowToJoinAVIWithVi rtualDub?v=mtk

                  Comment


                  • #10
                    Re: запись звука из AVI видеофайлов

                    Pasib ogromadnoye. Wsyo rabotayet!

                    Comment

                    Working...
                    X