Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
    
    
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
    
Дочерние селекторы
    
Селекторы атрибутов
 
Универсальный селектор
    
Псевдоклассы
  
Псевдоэлементы
    
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
    
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
   
Списки
                                          
Ссылки
                                          
Дизайны сайтов
    
Формы
  
Таблицы
    
CSS3
                                         
HTML5
                                       
									Блог для вебмастеров
									Новости мира Интернет
                                    Сайтостроение
    
									Ремонт и советы
	
                                    Все новости
                                        
									
                                    Справочник от А до Я
    
									HTML, CSS, JavaScript
									
									
									Афоризмы о учёбе
									Статьи об афоризмах
									Все Афоризмы
									
									
| Помогли мы вам | 
программу ImageMagick. И случайно обнаружил, что в состав ее дистрибутива входит утилита FFmpeg, которая, как известно, умеет выполнять множество операций над медиафайлами. Почему бы не воспользоваться ею для конвертации и оснащения тегами файлов моей аудиоколлекции? Но запускать утилиту командной строки и указывать множество параметров для каждого MP3-файла довольно утомительно, и очевидно, что процесс надо автоматизировать.
Из всего богатого спектра интерпретируемых языков и систем программирования, с помощью которых можно было бы легко реализовать эту затею, я остановился на самом примитивном инструменте — языке сценариев командного процессора 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.
Слияние файлов с аудиоданными и изображением в аудио- и видеопотоки файла‑контейнера MP3
По умолчанию FFmpeg автоматически кодирует потоки в соответствии со своими предустановками так, чтобы они отвечали формату выходного файла (определяется по расширению). Например, аудио она конвертирует кодеком LAME с частотой дискретизации 44 100 Гц и скоростью потока 128 Кбит/с, а изображение преобразует в формат PNG. Если манипуляции с обложкой еще можно простить, то описанные действия со звуком меломаны могут воспринять как личное оскорбление. К счастью, можно запретить программе выполнять какие бы то ни было преобразования, указав в командной строке опцию -c . Или запретить преобразовывать только аудио, конкретизировав опцию так: -c:.
|  |  | 
