Какой лучший способ извлечь аудио из видео файла?


19

Я большой поклонник HandBrake . Это воплощение простого. Выберите видеофайл (или DVD), выберите пресет, выберите выходной путь, нажмите «Пуск». Спустя определенное количество времени по отношению к размеру / качеству контента, и вы получите довольно отличный видеофайл, подходящий для носителя по вашему выбору.

Я искал похожие качества в Audio Converter и, более предпочтительно, Audio Extractor (из данного видеофайла). Мне бы очень хотелось иметь возможность перетаскивать видеофайл в приложение, указывать, что я хочу аудио-файл в AAC с заданным битрейтом, нажимать «Пуск» и позволить приложению делать все остальное.

Я не против использования Ручного тормоза, чтобы удовлетворить аспект преобразования этого, пока извлечение аудио после факта - простой процесс. Суть в том, чтобы сделать как можно меньше шагов.

Какие-нибудь советы? Программы? Идеи?


Fission - хорошая утилита для извлечения аудиоданных из видеофайла, и я собирался делать это старомодным способом, трек за треком, вручную. Не мое предпочтение. После этого у меня появилась идея написать ее, но, к сожалению, похоже, что у Fission нет словаря AS.
Джейсон Салаз

@ Джейсон подумал над сценариями пользовательского интерфейса, чтобы поговорить с Fission?
Натан Гринштейн

Это вообще примитивный Applescript, когда у данного приложения нет словаря? Нажмите меню под названием «Файл». Нажмите на пункт меню под названием «Сохранить». Материал более или менее так?
Джейсон Салаз

@ Джейсон, да. Но может быть лучше, чем делать это вручную, в зависимости от того, сколько из них вы планируете проделать.
Натан Гринштейн

Сегодня я наткнулся на запись в FAQ по I just want audio, not video. Can I do that? Not with HandBrake, no. You could just encode the video at a low resolution with a fast low quality encoder like ffmpeg, then extract the audio track. Or you could use Handbrake : OSEx . К сожалению, это только КПП. Booooo!
Джейсон Салаз

Ответы:


22

Я наконец нашел нужную комбинацию и нашел ее в ffmpeg .

Я немного расширю вопрос и объясню тот факт, что я уже работал с mp4, содержащим видео / аудио, поэтому MP4 Video (.m4v) и AAC Audio (.m4a). Я абсолютно хотел, чтобы аудио версия была извлечена из видео.

Во-первых, в наше время довольно легко установить такие вещи, как ffmpeg, mplayer, вещи, построенные на них, и подобные пакеты с открытым исходным кодом. Между Rudix , Homebrew , MacPorts и Fink (кто-нибудь вообще использует fink?) Стороннее программное обеспечение легко установить.

Итак, после установки ffmpeg и наличия ffmpegдоступа в командной строке, я запустил такую ​​команду:

ffmpeg -i videofile.mp4 -vn -acodec copy audiotrack.m4a

ffmpeg : команда.

-i videofile.mp4 : исходный видеофайл.

-vn : не записывать (не учитывать) видеоданные.

-acodec copy : Скопируйте аудио источник как есть, вот где вся магия. ffmpeg запишет аудиоданные в виде различных поддерживаемых кодеков, но указание копии приводит к точной битовой копии потока. В сочетании с отключением видео через -vn вы оставляете одиночную звуковую дорожку внутри контейнера mp4.

audiotrack.m4a : имя выходного файла.

Я не могу поверить, что что-то подобное было так сложно и так долго скрывалось.

Так как я всегда собираюсь копировать аудио данные из контейнера / видео в формате mp4, я написал небольшой скрипт для этого.

#!/bin/bash

INFILE="$1"
TMPOUTFILE="${INFILE%.*}"
OUTFILE="${TMPOUTFILE##*/}.m4a"

ffmpeg -i "${INFILE}" -vn -acodec copy "${OUTFILE}"

Теперь я просто вызываю rip_m4a_from_mp4 somevideofile.mp4и у меня осталась версия только для аудио с тем же именем файла, оканчивающаяся на m4a.

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


Возможно, вы можете заменить m4aв строке 5 на $2и указать новое расширение в командной строке. Таким образом, если вы работаете с чем-то другим и знаете, что такое звук, вы можете указать это. Я могу сделать это сам и изменить имя сценария на «rip_audio_from_video». Generic!
Джейсон Салаз

Для начала. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"тогда brew install ffmpeg. Теперь следуйте инструкциям выше.
boyfarrell

Домашняя страница доморощенного является brew.sh . После следования инструкциям на этой странице (на случай, если они изменятся) brew install ffmpeg,. И тогда да, тогда вы можете следовать моим шагам.
Джейсон Салаз

2
Если вы действительно хотите , чтобы перекодировать аудио в другой формат, ffmpegможет сделать это в одной команде. Например: ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3( catswhocode.com/blog/19-ffmpeg-commands-for-all-needs )
alexw

1
@alexw убедитесь, что вы указали 192k, а не 192. В противном случае он вернется к кодированию 128kbit / s.
smets.kevin

12

Вы можете сделать это прямо в Finder, начиная с Mac OS X 10.7 (Lion), как описано в OSX Daily .

Краткий ответ: выберите файл или файлы в Finder, затем ctrlнажмите и выберите « Службы» -> «Кодировать выбранные видеофайлы» .

Обратите внимание, что вам может потребоваться включить эту службу на панели настроек клавиатуры .

введите описание изображения здесь


Вот это да! Очень удобно! Еще одна причина использовать Mac!
Джавад Садекзаде

В моем случае размер результирующего m4aфайла по сравнению с использованием ffmpegбыл более чем в 3 раза больше. Может быть проблемой, особенно для больших файлов.
Казимир

6

Я бы перетащил фильм в GarageBand. GarageBand разделит файл на аудио и видео, после чего вы сможете удалить видео дорожку (оставив вам только звуковую дорожку).

Затем вы можете выбрать опцию «Отправить песню в iTunes» в меню «Поделиться» (см. Рис.). Затем появятся различные форматы, в которые вы хотите экспортировать.

введите описание изображения здесь

Лучше всего, это бесплатно :), поскольку все Mac поставляются с GarageBand. Кроме того, он также позволяет регулировать такие аспекты звука, как скорость и громкость.

Сказав это, если вы хотите по-настоящему автоматическое решение и вам удобно в командной строке с терминалом, дайте мне знать в комментариях, и я придумаю сценарий, который позволит вам сделать это.


Я не собираюсь делать это по одной причине (если я не ошибаюсь, пожалуйста, не стесняйтесь меня поправлять): повторное сжатие. Видеофайлы уже имеют значительно сжатые аудиоданные, и я хочу максимально сохранить исходные аудиоданные. Убийственная особенность Fission - «Редактирование без потерь и реэкспорт». Не говоря уже о том, что GarageBand действительно очень медленный для таких задач, как: /. Тем не менее, это прекрасное решение для задачи, которая соответствует предмету, поэтому я добавил вас в этом аспекте.
Джейсон Салаз

4

Quicktime 7 сделает работу очень легко.

Просто откройте видео и перейдите в « Файл» > « Экспорт» > « Звук в AIFF / AU / Wave» > выберите путь, и все готово! :)


Похоже, мне может понадобиться найти диск со снежным барсом ...
Джейсон Салаз

@vxjasonxv ты не обязан. Вы можете скачать по предоставленной ссылке ..
nuc

ООО Спасибо! Я на самом деле не думал, что такая связь будет существенной.
Джейсон Салаз

1
Применима ли та же ловушка, которую я добавил к ответу Роба? Я могу «сохранить волну» аудио, но оно уже сжато, и теоретически, чтобы использовать его, мне придется повторно сжать его снова, чего я бы предпочел не делать.
Джейсон Салаз,

4

QuickTime Player 10 также может экспортировать аудио (без перекодирования).

Выберите « Файл»> «Экспорт»> «Только аудио».

Протестировано на macOS 10.12 Sierra с QuickTime Player 10.4.


1
Но перекодирует ли это аудио?
Джейсон Салаз

1
@JasonSalaz Нет, просто извлеките. Это ИМХО лучший вариант. Это довольно быстро и сохраняет качество. Более того, вы можете перекодировать его в любое время позже.
Мелебиус

1
Потрясающие. Мой ответ ffmpeg также только для извлечения, так что, вероятно, он займет столько же времени, сколько QuickTime. Преимущество ffmpeg заключается в том, что он не имеет собственного веса загрузки пользовательского интерфейса, поэтому он, несомненно, быстрее в 1 файле и экспоненциально быстрее во многих файлах. Но это отличный ответ для тех, кто разбирается в Automator / Applescripting, и, возможно, не настолько удобен в командной строке или в сценариях оболочки.
Джейсон Салас,

0

Я просто открываю видео файл с отвагой и затем экспортирую аудио. Я могу установить параметры экспортируемого аудиофайла во время экспорта.


Установка параметров аудиофайла означает перекодирование аудио. Есть ли в Audacity опция сквозного (извлечения без изменений)?
Джейсон Салас,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.