Бывает хочется выложить очередной breakbeat боевик на youtube и поделиться со всем миром, но натыкаешься на нежелание youtube принимать mp3. Выход тут один – скормить ему небольшой ролик с статичной картинкой, полученный путем склеивания собственно картинки и mp3.

О том, как это сделать и пойдет речь.

Для начала надо подготовиться:

  • выберите картинку или картинки
  • затрите тэги у музыкальной композиции. По тэгам гугл определит правообладателя и добавит музыкальный паттерн в черный список. Если вы после загрузки ролика получили сообщения типа “Ваше видео может содержать материалы, права или лицензия на которые принадлежат следующим владельцам контента” рыпаться уже поздно. Изменение битрейта, частоты и даже превращение стерео в моно эффекта не дает.
  • скачайте ffmpeg (если у вас Linux – поищите в репах или собирите сами, скачав сорцы с сайта http://ffmpeg.org/, если у вас Windows - можно скачать готовые бинарники с сайта http://ffmpeg.arrozcru.org/builds/).
  • Ну и наконец с помощью ffmpeg конвертируйте видео:

ffmpeg -loop_input -r 1 -f image2 -i d:\source.png -r 1 -t 300 -i d:\source.mp3 -acodec copy d:\out.avi

Где:

  • -loop_input – зациклит вывод картинки. Если не указать этот ключ Youtube увидит только первый фрейм и сделает длину видео равной 1 секунде.
  • source.png – исходная картинка. Может быть в любом формате – jpg, png – без разницы.
  • -r 1 – fps
  • -t 300 – длина трека mp3 в секундах.
  • source.mp3 – исходный трэк
  • -acodec copy – способ кодирования стрима в видео. Вместо copy можно указать ac3.
  • out.avi – полученный файл