Автор: Свернуть
блог:https://www.mintimate.cn Облачное сообщество Tencent:https://cloud.tencent.com/developer/user/7704194
Блог Минимум, просто чтобы поделиться с вами
«FF» в слове «FFmpeg» означает «Быстрая перемотка вперед», а «mpeg» относится к «Группе экспертов по движущимся изображениям». Этот проект в основном используется для обработки изображений и звука и в настоящее время широко используется в программном обеспечении для видео и видео. обработка видео.
Использование FFmepg позволяет легко (включая, помимо прочего): перекодирование видео, извлечение аудио, а также объединение субтитров и видео. Я часто использую его для перекодирования оригинального диска с фильмом в H264 MP4 и добавления жестких субтитров для воспроизведения по телевизору (*≧ω≦)
Используя FFmpeg, вы можете легко перекодировать файлы формата MP4 в формат Mov или другие видеоформаты. Удобно хранить видео на разных платформах.
Иногда у нас есть еще один MV (музыкальное видео), но мы хотим преобразовать его в чистый аудиоформат и поместить в наш MP3. На данный момент мы можем использовать FFmpeg для извлечения аудио, например:
# Извлеките аудио из Minitimate.mov в аудио из Minitimate.acc.
ffmpeg -i Mintimate.mov -vn -y -acodec copy Mintimate.aac
# Извлеките аудио из Minimize.mp4 в аудио Minimize.mp3.
ffmpeg -i Mintimate.mov -vn -y -acodec copy Mintimate.mp3
📽Запись в реальном времени с экрана На обычном веб-сайте прямая трансляция может иметь адрес воспроизведения m3u8, который является видеопотоком CDN. Мы можем использовать FFmpeg для записи этого видеопотока:
ffmpeg -i https://Вот адрес прямой трансляции/Mintimate.m3u8 -c:v copy -c:a copy -bsf:a aac_adtstoasc Output.mp4
Таким образом, вы можете записать прямую трансляцию. Поделитесь с друзьями.
Потому что FFmepg очень универсален.,И в разных сценариях есть конкретные параметры。В одной статье невозможно одновременно подробно объяснить настройку и использование.。Поэтому в этой статье в основном объясняется, как настроить FFmepg в Linux/Mac/Windows. 🔗Ссылки по теме:
Возьмите «Личи»,
Если видео окажется для вас полезным, вы можете проголосовать за него~
Если невозможно играть,Ссылка на видео:Научитесь устанавливать и настраивать инструмент перекодирования — «FFmpeg» в системах Windows/Mac/Linux за 10 минут.
Одно устройство с Mac/Linux/Windows. (Теоретически можно использовать и Raspberry Pi, но производительности может не хватить...)
Установить FFmpeg в Linux очень просто, двумя способами:
Первые два метода имеют свои плюсы и минусы, и вы можете выбирать в соответствии со своими потребностями.
Если вы вызываете FFmpeg, используя язык программирования, и вам нужно указать абсолютный путь к FFmpeg, или если вам нужна более новая версия функций FFmpeg, рекомендуется использовать Ручную. настройка
Сначала определите версию дистрибутива, на которой основан ваш Linux.,Большинство людей основаны наCentos
илиDebian
,Просто откройте терминал и попробуйте:
Если вы войдетеapt-get
,Выяснилосьapt-get: command not found
。Так Можно использоватьyum
пытаться。Наоборот。
После этого вводите в терминале:
# For Debian
sudo apt install ffmpeg
# For Centos
sudo yum install ffmpeg
Обычно вас спросят, устанавливать ли:
Далее, после завершения «кодирования», устанавливается FFmpeg:
В случае неудачи появится следующее приглашение:
Как правило, это связано с тем, что ваш apt-get/yum не обновлялся в течение длительного времени или вы изменили его источник, а конфигурация не обновилась. Просто запустите:
# For Debian
apt update
# For Centos
yum update
Затем запустите команду установки FFmpeg.
Поскольку параметры процесса компиляции на разных устройствах Linux различаются, в этой статье не описываются методы компиляции и установки. Здесь вы можете скачать предварительно скомпилированную версию FFmpeg и настроить ее в переменных среды.
первый,ВходитьОфициальная предварительно скомпилированная версия FFmpeg для Linuxвнутри страницы,Загрузите FFmpeg, соответствующий архитектуре системы:
яLinuxУстройствоx64
оборудование,Так что выбирайтеamd64
Версия。Внутри терминала,Создать папку FFmpeg,и скачать Разархивироватьэтот файл:
# СкачатьFFmpeg
wget "https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz"
# Разархивировать
tar -xf ffmpeg-release-amd64-static.tar.xz
Tips:Руководство по использованию команды tar После этого настраиваем переменные среды:
Если вы используете Баш,Так,Конфигурация~/.bashrc
этот файл
Если вы используете ZSH,Так Конфигурация~/.zhsrc
этот файл
Большинство пользователей Linux используют bash, поэтому давайте продемонстрируем:
# Отредактируйте переменные среды ~/.bashrc.
vim ~/.bashrc
После входа,в соответствии сi
Входитьредактироватьмодель,Добавлено в конце статьи:
# FFmpeg
export PATH=$PATH:「Path」
После этого перезагрузите файл конфигурации:
source ~/.bashrc
Вот и все:
2022.04.23возобновлять:Раньше я был редактором.
/etc/bashrc
этот файл,На самом деле это глобальная переменная среды (в случае Bash).,Если подумать, было бы лучше продемонстрировать переменные пользовательской среды.……Итак, теперь учебник изменен на редактирование~/.bashrc
。Видеоурок Внутри или редактировать/etc/bashrc
,Вы можете сами решить, какой из них настроить.
Установить FFmpeg на macOS также очень просто, двумя способами:
В этой статье Ручная настройка используется предварительно скомпилированная версия FFmpeg.,Предварительно скомпилированная версия в настоящее время не адаптирована для устройств с чипом M1. Пожалуйста, используйте метод быстрой компиляции!предварительно запрограммированный Версия,На данный момент поддерживает все версии macOS,Включая архитектуру ARM64 и архитектуру X86.
Это очень просто и я не буду вдаваться в подробности. Для пользователей, у которых установлен Homebrew, введите в терминале:
brew install ffmpeg
После долгого ожидания FFmpeg установлен:
Если у вас не установлен Homebrew, вы можете обратиться к статье:
Я считаю, что у многих пользователей macOS нет Ручной настройка через среду. Здесь мы сосредоточимся на том, как Ручная настройка. Аналогичным образом мы загружаем предварительно скомпилированную версию FFmpeg:
Скачиваем последнюю версию:
После загрузки,Разархивируйте и переименуйтепомещатьприезжатья们熟悉的地址,нравиться:/Users/mintimate/myEnvironment/ffmpeg
:
Если значок выполнения (exec) не отображается на вашем macOS, используйте Терминал для повышения разрешений:
chmod +x ffmpeg
После этого мы можем настроить переменные среды:
open ~/.zshrc
Добавьте в Венму:
# FFmpeg
export PATH=$PATH:/Users/mintimate/myEnvironment/ffmpeg/ffmpeg
После сохранения,Внутри терминалавходитьsource ~/.zsshrc
или Перезагрузите терминал Вот и все:
установка ffmpeg завершена
Этот метод не подходит новичкам, поэтому кратко поясню: Загрузите исходный код и разархивируйте его:
Войдите в распакованную папку с помощью терминала:
./configure --enable-shared --prefix=/usr/local/ffmpeg
/usr/local/ffmpeg Адрес для компиляции и установки.
После компиляции,ссылкаРучная настройка1(рекомендовать)
Добавить в переменные среды。
Конфигурация Windows самая простая,я们ВходитьОфициальная предварительная компиляция проекта FFmpeg для WindowsСкачать интерфейс:
这边ярекомендоватьиспользовать:Версия соглашения GPL。
Например, у нас есть: ffmpeg-n4.4-4-gacb339bb88-win64-gpl-4.4.zip.
Скачиваем и разархивируем его и получаем следующие файлы:
После этого включаем переменные среды:
редактироватьPath,добавить записьприезжатьтолько Разархивироватьзакончились документыbinв папке:
Настроен,После сохранения Ты можешьCMDиPowershellИспользуйте в другом местеFFmpegПонятно:
Видео, которые мы загружаем, всегда имеют субтитры и оригинальные видеофайлы (Blu-ray, сжатый диск Blu-ray и т. д.), поэтому их необходимо объединить; вы все еще используете такие инструменты, как старая Format Factory? Фактически, FFmpeg может В каталоге файлов введите в терминале:
ffmpeg -y -i «Полное название видео» -vf subtitles=「Имя файла субтитров」 «Имя экспортированного видеофайла»
Команда для разблокировки: На самом деле, -y не требуется, просто чтобы в каталоге не было видео с тем же именем, что и у экспортированного видеофайла, что приведет к сбою, поэтому -y означает: перезаписать; например
ffmpeg -y -i 1.mkv -vf subtitles=1.ass out.mp4
кроме того,Если это файл типа MKV со встроенными несколькими звуковыми дорожками и несколькими субтитрами.,я们Можно использоватьmap
Извлекать。Приведите пример,Мой файл фильма:
ffmpeg -i Отель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv
Можно обнаружить, что имеется несколько звуковых дорожек и субтитров:
Если я хочу извлечь видеодорожку и аудиодорожку отдельно, просто:
ffmpeg -i Отель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv -map 0:0 -map 0:1 OutPut.mkv
Видеовыход таким образом имеет только 1-ю и 2-ю дорожки (видеодорожка и аудиодорожка по умолчанию):
Благодаря этому мы можем извлечь субтитры по умолчанию и преобразовать их в файлы mp4:
# Способ 1: подходит для субтитров субрипового типа.
ffmpeg -i Отель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv -filter_complex "[0:v:0]subtitles=Отель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv:si=2[v]" -map "[v]" -map 0:1 Hotel.mp4
# Способ 2: применим к субтитрам типа hdmv_pgs_subtitle.
ffmpeg -i HotelTransylvania.mkv -filter_complex "[0:v][0:s]overlay[v]" -map "[v]" -map 0:a:0 out.mp4
в:
В методе 1,-filter_complex "[0:v:0]subtitles=Отель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv:si=2[v]" -map "[v]"
Представляет собой перехват и слияниеОтель.Трансильвания.4.Трансформания.2022.Китайские и английские субтитры.mkv
Видеодорожка внутри видеофайлаисубтитры2орбита как параметр[v]
отслеживать,и смешивает рендеринг последующих звуковых дорожек.
Метод 2ши
ffmpeg -i input.ogv -vcodec h264 out.mp4
ffmpeg -i input.ogv -vcodec mpeg4 out.mp4
ffmpeg -i input.ogv -vcodec libxvid out.mp4
ffmpeg -i input.mp4 -vcodec wmv1 out.wmv
ffmpeg -i input.mp4 -vcodec wmv2 out.wmv
За i следует имя входного файла. За параметром -vcodec следует формат кодировки, лучше всего использовать h264, но он не установлен по умолчанию в системах Windows. Если вы хотите вставить видео в формате ppt, выбор wmv1 или wmv2 в принципе надежен.
Если вы хотите сохранить качество исходного видеофайла, используйте параметр -qscale 0:
ffmpeg -i input.webm -qscale 0 output.mp4
Из-за загрузки h264 mp4 очень хорош с точки зрения сжатия и качества, если вы хотите добавить субтитры и при этом хотите качество, выберите h264;
ffmpeg -y -i «Полное название видео» -vf subtitles=「Имя файла субтитров」 -vcodec h264 «Экспортированный видеофайл».mp4
Или вот этот, с самым высоким crf, но очень высоким разрешением:
ffmpeg -y -i filename.mkv -vf subtitles='filename.mkv' -disposition:s default+forced -c:v libx264 -c:a libmp3lame -crf 27 -preset ultrafast filename.mp4
На самом деле настройка FFmpeg очень проста и существуют различные методы настройки. Но основа FFmpeg довольно проста в использовании. Если вас это интересует, вы можете самостоятельно изучить использование FFmpeg и применить его к своему коду для дальнейшего улучшения функциональности вашего кода.
Наконец, если вы считаете, что статья полезна, вы можете: