Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Из всего богатого спектра интерпретируемых языков и систем программирования, с помощью которых можно было бы легко реализовать эту затею, я остановился на самом примитивном инструменте — языке сценариев командного процессора Windows. Почему? Во‑первых, он имеется на любой Windows-платформе, от W2K до W11. Во‑вторых, он напрямую предназначен для автоматизации рутинных операций с файлами. А в‑третьих, он имеет встроенную сопроводительную документацию — чтобы получить справку, не придется даже открывать браузер.
Итак, сформулируем задачу. Даны аудиоальбомы, представленные наборами аудиофайлов. Требуется добавить к этим файлам изображение обложки альбома и описательных тегов из текстового файла, а также при необходимости конвертировать эти файлы в формат MP3 с установкой требуемых параметров аудиоданных. Для решения задачи попытаемся использовать программу FFmpeg и язык сценариев командной оболочки CMD.
, пока корпорация‑разработчик не отправила его на свалку истории вслед за Paint’ом.
Начать решение задачи я решил с изучения возможностей FFmpeg в интересующей меня области. В том, что она справится с конвертацией аудиофайлов из одного формата в другой, я почти не сомневался. Но сумеет ли она прикрепить изображение обложки и добавить информационные теги в результирующие файлы?
Мои сомнения были развеяны статьей Стефана Шмитца «Получение и установка метатегов ID3 с помощью FFmpeg», в которой автор привел примеры интересующих меня команд. Основная идея заключается в том, что значения тегов указываются программе FFmpeg в виде параметров:
-metadataНазваниеТега="ЗначениеТега"
Более того, в статье имеется пример использования текстового файла в качестве источника тегов. К сожалению, для этого нужно создавать отдельные текстовые файлы с тегами для каждого аудиофайла, тогда как гораздо удобнее все сведения о содержимом аудиоальбома держать в одном текстовом файле.
Указывать полный путь к исполняемому файлу FFmpeg в командной строке крайне неудобно. Обычно при установке программы предлагают включить путь в системную переменную окружения PATH
, но я предпочитаю ее не засорять. Вместо этого можно поместить в папку, уже присутствующую в этой переменной, командный файл ffmpeg.
следующего содержания:
Символ @
подавляет эхо‑печать командной строки, а вместо сочетания %*
при выполнении будут подставлены все параметры, переданные сценарию ffmpeg.
. Таким образом, использовать FFmpeg из командной строки для конвертации файла SRCsample.wav
в TGTsample.mp3
можно так:
Ответ на вопрос, можно ли с помощью FFmpeg снабдить MP3-файл изображением обложки, был практически моментально получен в поисковой системе. Оказалось, что с точки зрения FFmpeg изображение обложки является для MP3-файла видеопотоком и, чтобы склеить его с аудиоданными, надо воспользоваться командой вида
С помощью опций -map
источники данных из входных файлов отображаются в потоки выходного файла. Первая опция определяет первый поток, ее параметр 0
говорит о том, что надо использовать первый указанный с помощью опции -i
источник, в приведенном примере это аудиоданные из файла SRCaudio.mp3
. Вторая опция определяет второй поток, ее параметр 1
говорит, что надо использовать второй указанный с помощью опции -i
источник — изображение из файла SRCcover.jpg
.
По умолчанию FFmpeg автоматически кодирует потоки в соответствии со своими предустановками так, чтобы они отвечали формату выходного файла (определяется по расширению). Например, аудио она конвертирует кодеком LAME с частотой дискретизации 44 100 Гц и скоростью потока 128 Кбит/с, а изображение преобразует в формат PNG. Если манипуляции с обложкой еще можно простить, то описанные действия со звуком меломаны могут воспринять как личное оскорбление. К счастью, можно запретить программе выполнять какие бы то ни было преобразования, указав в командной строке опцию -c
. Или запретить преобразовывать только аудио, конкретизировав опцию так: -c:
.
|
|