Как скрыть javascript от декодера. JavaScript: Прячем скрипт от посторонних глаз

Твитнуть

История FFmpeg

В 2000 году программист с ником Gerard Lantau выложил для всеобщего использования исходники проекта FFmpeg. За годы концепция осталась прежней:

  • Деление на программы FFmpeg для кодирования видео и FFserver для организации потокового вещания.
  • Максимально быстрое кодирование звука и видео.

В то время 500 мегагерц в компьютере считались нормой, требовалась максимальная оптимизация, поэтому в FFmpeg своя реализация видеокодеков, оптимизированная для скорости. Это нужно и сейчас, особенно на серверах видеохостингов, где идёт постоянная борьба за снижение энергопотребления, чтобы процессоры не грелись.

FFmpeg прочно стоит на ногах - почти каждый день вносятся правки в исходный код. Добавляются новые компоненты. Например, плеер FFplay и утилита для получения информации FFprobe.

Где скачать FFmpeg и FFserver

FFmpeg разрабатывается под Linux. Если на сайте видите окошко с трансляцией видео - 9 шансов из 10, что оно работает благодаря FFmpeg и FFserver.

Версия FFmpeg (и FFserver) для Windows тоже существует, но часть функциональности будет недоступна. Впрочем, это не мешает работать видеоконвертеру MediaCoder (www.mediacoderhq.com) и плееру

На выбор есть 32- и 64-битные версии. Для кодирования видео выбирайте 64-битную Static-версию (ссылка вида «Download FFmpeg git-*** 64-bit Static «).

Если нужно организовать видеотрансляцию с, например, IP-видеокамеры, желательна 32-битная версия FFmpeg, с 64-битной я заметил проблемы - программа закрывалась сама по себе. Возможно, потому что FFserver для Windows - 32-битный, есть несовместимость.

FFserver на Windows тоже существует, хотя об этом мало кто знает. Программу трудно скомпилировать, потому что используется много специфичного для Linux кода. Разработчики системы видеонаблюдения Xeoma оказались молодцы, потому что выложили свой FFserver для Windows на своем сайте: http://felenasoft.com/xeoma/ru/ffserver/ Не забудьте скачать cygwin1.dll оттуда же.

Про FFserver в Интернете много инструкций. Они написаны на примере Linux-версии, но прекрасно работают под Windows. Единственное отличие - файл ffserver.conf должен лежать не в папке /etc, а в одной папке с ffserver.exe, cygwin1.dll и ffmpeg.exe.

Как установить FFmpeg

2. Создайте на диске C: папку ffmpeg и распакуйте туда архив.

Для установки ffmpeg этого достаточно. Советую выполнить пункт 4 для удобства в будущем.

3. Если нужно настроить трансляцию, в папку c:\ffmpeg\bin распакуйте ffserver и положите файлик cygwin1.dll .

4. Чтобы в командах не писать каждый раз полный путь к программе, можно добавить его в переменную PATH: Панель управления - Система - Дополнительные параметры системы - вкладка Дополнительно - Переменные среды - в конце строки переменной Path добавьте «;c:\ffmpeg\bin » без кавычек. Если там было пусто (что не совсем нормально), то «c:\ffmpeg\bin «, т.е. без точки с запятой в начале.

Потом перезагрузите компьютер, чтобы изменения вступили в силу.

Вы можете пропустить четвертый шаг, но потом вместо команд ffmpeg и ffserver придется писать полный путь «c:\ffmpeg\bin\ffmpeg.exe» и «c:\ffmpeg\bin\ffserver.exe».

Как пользоваться FFmpeg

На главной странице FFmpeg красуется надпись:

Человек, не знакомый с командной строкой, будет в ступоре. Куда вводить команду?

Если не хотите заморачиваться, просто воспользуйтесь бесплатной или платной FFmpeg, как микроскоп, нужна для тонких задач, не для забивания гвоздей.

В папке ffmpeg\doc собрано много примеров по использованию компонентов, все команды можно посмотреть там.

Примеры

Имена файлов у вас будут свои. Если есть пробелы или на русском - обрамляйте имена в кавычки.

Отобразить информацию о файле:

ffmpeg -i video.mp4

или ffprobe video.mp4

Пережать видео avi в mp4:

ffmpeg -i video.avi video.mp4

Пережать mov в flv и изменить разрешение:

ffmpeg -i video.mov -s 640x360 -b 1700k -vcodec flv -ar 44100 video.flv

Пережать видео в webm среднего качества, звук формата OGG:

ffmpeg -i video.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis video.webm

Пережать видео кодеком MPEG4, звук - mp3, контейнер - avi:

ffmpeg -i video.mp4 -vcodec mpeg4 -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 100 -qscale 3 -acodec libmp3lame -ac 2 -ab 128k -y video.avi ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 zvyk.mp3

Добавить звуковую дорожку к видео («-acodec libmp3lame» можно выкинуть, тогда ffmpeg сам решит, как кодировать звук):

ffmpeg -i zvyk.mp3 -i video.mp4 -acodec libmp3lame video_final.mp4

Добавить звуковую дорожку без перекодирования видео (сохраняет качество, работает быстро):

ffmpeg -i zvyk.mp3 -i video.mp4 -acodec libmp3lame -vcodec copy video_final.mp4 ffmpeg -ss 00:00:02 -i video.mp4 -f image2 -vframes 1 thumb.jpg ffmpeg -i video.mp4 -vf deshake out.mp4

Структура

Как видно из примеров, команды ffmpeg имеют структуру:

ffmpeg -опции -еще_опции -можно_опции_с_параметрами_например 1 -i "имя файла.расширение" -опции_кодирования -еще опции +опции_кодека "имя_результирующего_файла.расширение"

Если не указывать опции кодирования, для результирующего файла ffmpeg будет пытаться использовать параметры исходного, чтобы сохранить максимум качества.

Команды

Информационные (чтобы узнать возможности установленной версии)

-L
Показать текст лицензии.

-h, -?, -help, -help
Список доступных команд.

-version
Узнать версию ffmpeg.

-formats
Показать список доступных форматов контейнеров (не кодеков!).

В Windows не хватит строк в командной строке для показа всего списка, для исправления откройте свойства окна и на вкладке «Расположение» поставьте высоту буфера экрана в 500. В списке буквы D и E означают поддержку декодирования и кодирования.

-codecs
Список доступных кодеков. Кроме интуитивно понятных D и E (Decoder для «чтения» и Encoder для кодирования), видны следующие обозначения:
V - кодек для видео, A - для звуковых дорожек, S - субтитров, I - только для кодирования I-фреймов, L - кодек сжимает с потерями данных (большинство), S - без потери данных (сохраняет качество, сжимает слабо).

-bsfs
Показать поддерживаемые bitstream filters (фильтр потока данных), которые нужны в ряде случаев для правильной обработки потока данных.
-protocols
Показать доступные протоколы. Из выдаваемого списка понятно, что в качестве входных данных может использоваться RTMP поток (видеотрансляция) и многое другое, не только файлы. Как выходные - тоже.
-filters
Доступные фильтры видео и аудио. В FFmpeg их громадное количество. Кроме банальных поворота и настроек яркости, в FFmpeg есть расширение стереобазы, генерирование фракталов и прочее, прочее. Подробные инструкции - в doc/ffmpeg-filters.html.

-pix_fmts
Доступные цветовые форматы. FFmpeg понимает громадное количество цветовых пространств. Полезно для тех, у кого оборудование выдает странные цвета.

Основные опции

-loglevel значение или -v значение

Уровень логгирования. От минимума - quiet до максимально подробного debug. Полный список: quiet, panic, fatal, error, warning, info, verbose, debug. Полезно, если в процессе кодирования видео происходят ошибки и нужно узнать подробности.

-f значение (mp4, avi, mkv, gif и т.д.)

Указать определенный формат (контейнер) файла. Обычно FFmpeg выбирает по расширению выходного файла, но можно переназначить.

-i путь_до_файла

Команда для указания входящего файла или потока (например, rtmp://адрес для захвата потокового видео).

-y
Перезаписывать уже существующий выходной файл без запроса.

-ss время

Указывает, с какого времени нужно кодировать видео/аудио. Формат в виде «чч:мм:сс». Подробнее: https://trac.ffmpeg.org/wiki/Seeking

-t время

Указать, до какого времени нужно кодировать видео/аудио. Вместе с предыдущей командой удобно использовать для вырезания отрезка видео.

-fs размер
Лимит выходного файла. Например, при -fs 10M кодирование останавливается, как только выходной файл станет 10 Мб размером. Поддерживаются K, M, G (килобайты, мегабайты и гигабайты).

Опции кодирования видео

-b значение
Устанавливает битрейт видео. Выше битрейт - лучше качество и больше размер файла. Указывайте в конце цифры K или M, чтобы программа понимала, в килобитах/сек или мегабитах/сек значение.

-vframes значение

Количество кадров, которые нужно кодировать.

-r значение
Указание частоты кадров.

-s размер

Указание, в каком разрешении кодировать видео. Например, 1920×1080 для FullHD видео на выходе. FFmpeg понимает буквенные сокращения (vga, hd480, hd720, hd1080 и другие).

-aspect соотношение_сторон

Указать соотношение сторон видео (4:3, 16:9 or 1.3333, 1.7777 и т.д.). Как известно профессионалам, в видео пиксели могут быть прямоугольными.

-croptop значение , -cropbottom значение , -cropleft значение , -cropright значение

Обрезка количества пикселей видео сверху, снизу, слева или справа.

-padtop значение , -padbottom значение , -padleft значение , -padright значение

Добавление границы видео сверху, снизу, слева или справа.

-padcolor hex_color

Цвет границы в шестнадцатеричном формате (#000000 - черный, #FF0000 - красный и т.д.).

-vn
Не кодировать видео.

-bt значение

Значение задает максимальное отклонение от указанного битрейта. Может не работать, в зависимости от кодека.

-maxrate битрейт

Указывает максимальное значение битрейта. Требует указания размера буфера через -bufsize.

-minrate битрейт

Минимальный битрейт у видео. Часто используется для принудительного задания определенного битрейта:

ffmpeg -i video.avi -b 4000K -minrate 4000K -maxrate 4000K -bufsize 1835k video-out.mp4

-bufsize размер

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

-vcodec кодек

Выбор кодека (см. команду -codecs для списка кодеков). Можно указать copy , тогда FFmpeg будет копировать видеопоток без перекодирования.

Сохранять качество исходной картинки/звука. Это не то же самое, что -vcodec copy . Сохраняется качество видео, кодек может быть любым, видеодорожка перекодируется.

-pass n

Для многопроходного кодирования видео. Указывает, какой делать проход (1 или 2). Префикс имени файла со статистикой указывается командой -passlogfile значение .

Можно отключить обработку звука при первом проходе, чтобы экономить время и ресурсы:
ffmpeg -i video.mp4 -vcodec libxvid -pass 1 -an -f rawvideo -y NUL

Опции звука

-aframes количество

Сколько фреймов звука (да, у звука есть кадры!) нужно кодировать.

-ar частота

Указание частоты звука (по умолчанию 44100 Гц).

-ab битрейт

Битрейт (по умолчанию = 64K).

-aq значение

Указание качества (зависит от кодека, применяется при переменном битрейте).

-ac число

Количество аудиоканалов (по умолчанию 1).

Не кодировать звук.

-acodec кодек

Указание кодека для звука. Значение copy позволяет копировать звуковую дорожку без перекодирования

-newaudio

Добавление еще одной звуковой дорожки. Ее параметры указываются до команды -newaudio:

ffmpeg -i file.mpg -vcodec copy -acodec ac3 -ab 384k test.mpg -acodec mp2 -ab 192k -newaudio

Субтитры

-scodec кодек

Кодек для субтитров (copy - для прямого копирования).

-newsubtitle

Добавление еще одних субтитров.

-slang код

Указание языка субтитров в стандарте ISO 639 (3 буквы).

Отключение субтитров.

Другие команды

-threads количество

Количество потоков для кодирования видео. Опцию следует применять только на многоядерных ПК и то с оглядкой, читая документацию к выбранному кодеку.

-vsync значение

Синхронизация кадров. Значения:

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

1 - кадры будут дублироваться или удаляться, чтобы сохранить требуемую частоту кадров.

2 - кадры будут пропускаться или удаляться, чтобы сохранить требуемую частоту кадров.

1 - значение по умолчанию. FFmpeg выбирает сам между методами 1 и 2.

С помощью команды -map можно указать, что к чему будет подстраиваться. Подробности: https://trac.ffmpeg.org/wiki/Map

-async кадры_в_секунду

Выбор метода синхронизации звука. Чтобы звук и видео совпадали по времени, аудиодорожка может растягиваться и сжиматься. Значение 1 скорректирует звуковую дорожку только в самом начале по принципу «дальше будь что будет».

Применяется для принудительного копирования всех временных меток из исходного файла. Полезно в случае, если начало видео - не 00:00, а что-то другое и это нужно сохранить.

-shortest

Когда самый короткий входящий файл закончился, прекращение кодирования.

Еще команд?

Команды для FFmpeg смотрите здесь:

http://help.ubuntu.ru/wiki/ffmpeg (на русском).

https://ffmpeg.org/ffmpeg.html (официальная документация).

Для кодирования кодеком x264, который сейчас приобрел популярность, гляньте это:

http://wiki.rosalab.ru/ru/index.php/FFmpeg (на русском, есть примеры).

Почему команд так много?

Они нужны для полного контроля процесса обработки файлов с видео и звуком.

Большинство пользователей конвертируют видео, не понимая, что важен не только кодек для сжатия, но и его параметры. Есть нюансы, которые непросто осознать начинающим пользователям. Например, файл с расширением «mp4» не обязательно содержит в себе видео с кодеком MPEG4.

Если есть какие-то вопросы по FFmpeg - спрашивайте в комментариях. Помогу, чем смогу.

ffmpeg действительно мощный видеокодер/декодер. Он работает в командной строке, а не в графическом интерфейсе. Командная строка - это то черное окно, которое вы найдете, щелкнув и набрав cmd , затем нажмите enter. Это также называется «командной строки». После настройки вы вводите команды ffmpeg в одном из этих окон, чтобы использовать его.

Вот основные шаги, чтобы «установить» и использовать его:

Установка

ffmpeg теперь «установлен». Командная строка теперь распознает команды ffmpeg и попытается запустить их.

Обновление FFmpeg

Чтобы обновить FFmpeg, просто вернуться на страницу загрузки в шаге 1 и загрузите файл почтового индекса. Распакуйте файлы и скопируйте их поверх старых файлов в папке, созданной на шаге 2.

Использование FFmpeg

Использование FFmpeg требует, чтобы вы открыть окно командной строки, а затем введите FFmpeg определенные команды. Вот типичная команда FFmpeg:

Ffmpeg -i video.mp4 -vn -ar 44100 -ac 1 -b:a 32k -f mp3 audio.mp3

Эта команда состоит из четырех частей:

  1. ffmpeg - Эта команда сообщает CMD, что мы хотим запустить FFmpeg команды. cmd сначала ищет ffmpeg.exe в одной из папок с шага 6 в разделе «Установка». Если он найден, он попытается выполнить команду.
  2. -i video.mp4 - Это входной файл. Мы будем работать над этим файлом.
  3. -vn -ar 44100 -ac 1 -b:a 32k -f mp3 - Это «аргументы». Эти символы похожи на мини-команды, которые точно определяют, что мы хотим делать. В этом случае говорится, что нужно создать mp3-файл из источника ввода.
    • -vn - Оставьте из видеопотока
    • -ar 44100 - Определяет аудио разрешение в герцах.
    • -ac 1 - Аудиоканалы, только 1. Это эффективно «сделать моно».
    • -b:a 32k - Битрейт аудио, установлен на 32 кбит/с.
    • -f mp3 - Принудительное преобразование MP3. Без этой команды ffmpeg пытается интерпретировать то, что вы хотите, на основе расширения, которое вы используете в имени выходного файла.
  4. audio.mp3 - Это выходной файл.

Как вы можете догадаться, эта короткая команда делает аудиофайл MP3 из файла MP4.

Чтобы выполнить эту команду, если у вас есть файл MP4, чтобы попробовать это на, выполните следующие действия:

  1. Нажмите клавишу Windows + R.
  2. Тип cmd затем введите.
  3. Изменить путь к файлу, над которым вы хотите работать. Тип cd . Он должен выглядеть примерно как cd C:\Users\name\Desktop\ .
  4. Теперь введите команду ffmpeg с именем вашего входного файла. Команда будет работать с некоторой обратной связью. Когда это будет сделано, cmd будет доступен для большего количества команд.

Это основной способ использования ffmpeg. Команды могут быть намного сложнее, но это только потому, что у программы столько энергии. Используя the ffmpeg documentation , вы можете узнать все команды и создать очень мощные скрипты. После этого вы можете сохранить эти сценарии в файл.bat, чтобы вам просто нужно дважды щелкнуть файл, а не набирать всю команду каждый раз. Например, this answer contains a script that will create MP3"s from all the MP4"s in a folder . Затем мы будем комбинировать мощность ffmpeg с мощностью cmd, и это приятное место, когда вам нужно делать профессиональное видео/аудио кодирование в горных файлах.

Если вы часто работаете с видео в операционной системе Linux, то наверное, слышали об утилите и наборе библиотек ffmpeg. Это мощная кроссплатформенная библиотека, которая позволяет делать почти любые действия с видео. Вы можете склеивать, кодировать, изменять, обрезать видео, но все это через терминал.

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

Она может вас спасти, когда другие программы зайдут в тупик. В этой статье мы рассмотрим полезные команды ffmpeg, которые пригодятся вам в повседневной работе с видео.

ffmpeg - это один из лучших мультимедийных фреймворков, который содержит различные инструменты, для решения разных задач. Например, ffplay - портативный медиа плеер, утилита ffmpeg может использоваться для обработки и инвертирования файлов, ffserver - для потоковой передачи данных, а ffprobe может анализировать мультимедийный поток.

В набор ffmpeg, кроме утилит, входят такие библиотеки: libavutil libavcodec libavformat libavdevice libavfilter libavresample libswscale libswresample libpostproc. Из-за своей архитектуры, этот набор инструментов очень безопасный, и с помощью него вы можете сделать почти все что угодно с видео или аудио. В этой статье мы будем рассматривать в основном утилиту ffmpeg. Давайте рассмотрим ее синтаксис:

[опции источника] -i [источник] [основные опции] [кодеки] [преемник]

  • Опции источника - указывают параметры чтения файла, настройки и так далее;
  • Источник - опция -i задает источник, откуда будет читаться файл, источников может быть несколько и это может быть не только файл, но и устройство;
  • Основные опции - задают параметры работы всей утилиты;
  • Кодеки - кодек, который будет использоваться для сохранения видео и аудио;
  • Преемник - файл или устройство, куда будут записаны данные.

Сейчас мы не будем подробно рассматривать опции, рассмотрим их потом, уже в самих командах.

Полезные команды ffmpeg

Как я уже сказал, утилита ffmpeg поддерживает большинство аудио и видео форматов. Чтобы проверить какие форматы поддерживаются вы можете выполнить:

Если вы новичок в использовании этого инструмента, то вот некоторые команды, которые могут вам очень сильно помочь. Дальше вы узнаете как пользоваться ffmpeg.

1. Получить информацию о видео

Чтобы получить доступную информацию о видео, достаточно просто указать файл источника. Выполните такую команду:

ffmpeg -i video.mp4 -hide_banner

Опция -hide_banner указывает программе, что не нужно показывать информацию о себе, опции сборки и так далее. Вы можете выполнить команду без этой опции, тогда получите всю информацию, в том числе и об ffmpeg:

ffmpeg -i video.mp4

2. Разбить видео на кадры

Чтобы разбить видео на изображения подойдет такая команда:

ffmpeg -i video.mp4 image%d.jpg

Утилита сгенерирует изображения с именами image1.jpg, image2.jpg, image3.jpg и так далее. После завершения вы найдете очень большое количество изображений в папке с видео.

3. Собрать видео из изображений

Вы можете взять полученный набор картинок и собрать все обратно в видео. Для этого выполните:

ffmpeg -f image2 -i image%d.jpg imagestovideo.mpg

Опция -f задает формат входного файла, вы можете использовать jpeg, png, jpg и другие картинки. И вы уже знаете как посмотреть поддерживаемые форматы ffmpeg.

4. Вытянуть звук из видео

Чтобы конвертировать видео в mp3 выполните команду:

ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3

Вот описание новых опций:

  • -vn - не обрабатывать видео, вся видео информация будет отброшена;
  • -ar - частота дискретизации, измеряется в герцах, чем больше, тем лучше качество звука;
  • -ab - устанавливает битрейт аудио;
  • -ac - устанавливает количество каналов;
  • -f - указывает формат полученного файла.

5. Конвертировать flv в mpg

Для конвертирования flv в mpg выполните:

ffmpeg -i video.flv video.mpg

6. Преобразовать видео в gif

Таким же самым образом можно переделать видео в анимированную gif картинку:

ffmpeg -i video.flv animated.gif

Мы не указываем кодеки ffmpeg и формат, потому что программа может их сама определить по расширению.

7. Преобразовать mpg в flv

Чтобы конвертировать видео mpg в flv выполните:

ffmpeg -i video.mpg -ab 26k -f flv video1.flv

Здесь мы уже задали битрейт и формат.

8. Преобразовать avi в mpeg

Для этого выполните команду:

ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg

Использованные опции:

  • -target pal-dvd - формат исходящего файла;
  • -ps 2000000000 - максимальный размер полученного файла;
  • -aspect 16:9 - соотношение сторон экрана.

9. Конвертировать видео в CD или DVD формат

Чтобы выполнить конвертирование ffmpeg видео в формат DVD, нужно задать ваш формат с помощью опции -target. Доступны такие форматы: vcd, svcd, dvd, dv, pal-vcd или ntsc-svcd. Чтобы создать VCD выполните:

ffmpeg -i video.mpg -target vcd vcd_video.mpg

10. Склеить аудио и видео вместе

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

ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg

11. Увеличить/уменьшить скорость видео

Чтобы увеличить скорость воспроизведения видео мы будем использовать фильтры, с помощью опции -vf. За скорость отвечает фильтр setpts. Например:

ffmpeg -i video.mpg -vf "setpts=4*PTS" highspeed.mpg

А так можно уменьшить скорость:

ffmpeg -i video.mpg -vf "setpts=0.5*PTS" lowerspeed.mpg -hide_banner

12. Вырезать прямоугольник из видео

Для того чтобы вырезать определенный участок кадра из видео тоже используются фильтры. На этот раз фильтр crop:

ffmpeg -i in.mp4 -vf "crop=out_w:out_h:x:y" out.mp4

  • out_w - ширина нужного прямоугольника;
  • out_h - высота нужного прямоугольника;
  • x,y - задают координаты прямоугольника от начала видео.

Например, обрежем прямоугольник размером 80х60 от позиции 100х200:

ffmpeg -i in.mp4 -vf "crop=80:60:200:100" video.mp4

Кроме этих опций, здесь можно задавать кодеки ffmpeg и форматы, чтобы параллельно выполнить кодирование ffmpeg.

13. Обрезать видео

Тут уже фильтры нам не помогут, но зато мы можем указать опциями из какого момента нужно начать и где завершить, например:

ffmpeg -i video.mp4 -ss 00:01:00 -t 00:01:00 -c copy video_clip.mp4

Начинаем от минуты и пишем еще минуту:

  • -ss задает время на видео, из которого стоит начать запись;
  • -t задает время когда запись нужно завершить относительно ss;
  • задает кодеки для аудио и видео, в нашем случае просто копировать файлы, ничего не перекодируя.

14. Склеить два видео

Чтобы склеить два видео используйте команду:

ffmpeg -i concat:"video1.mpg|video2.mpg" -c copy video.mpg

15. Проиграть видео

Вы можете быстро проиграть видео, чтобы оценить его качество, для этого есть команда:

ffplay video.mp4

Программа открывает и видео, и аудио.

16. Фото-баннер для аудио

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

ffmpeg -loop 1 -i image.jpg -i Bryan\ Adams\ -\ Heaven.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

Рассмотрим опции:

  • -loop - задает, что нужно всегда повторять оду и ту же картинку;
  • -i - задают входящие файлы, картинку и аудиофайл;
  • -с:v - задает видеокодек, эквивалентно -vc;
  • -c:a - задает аудиокодек, эквивалентно -ac;
  • -b:a - задает битрейт аудио, эквивалентно -ab;
  • -strict experimental - кодек aac для ffmpeg экспериментальный, поэтому чтобы его использовать нужна эта опция.

17. Добавить субтитры к видео

Если у вас есть отдельный файл субтитров, например с именем subtutle.srt, вы можете использовать такую команду, чтобы добавить его к видео:

ffmpeg -i video.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mkv

Выводы

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

На десерт видео по теме, что такое видеокодеки, кодеры, а также описание основных форматов видео: