Перейти к содержанию

Видео для мобильного телефона


Рекомендуемые сообщения

Многие из тех, кто имеет мобильный телефон с мультимедийными возможностями, рано или поздно сталкивался с вопросом - чем перевести понравившийся видеоролик в формат, понятный телефону. Мой первый опыт был с програмой Motorola Phone Tools, официальной програмой для работы с телефонами Motorola. Качество полученного видео было настолько ужасным, что я чуть было не забил на это дело. Потом попался на глаза конвертер mpegable Broadcaster. Вот это было уже неплохо. Програма была довольно сложная в настройках, капризная к исходному видео (не дружит с переменным битрейтом в звуковой дорожке), но давала на выходе весьма неплохой результат, гораздо лучший, чем в более распространенном pvAutor-е. Все ничего, но практически все програмы, кодирующие для телефонов, используют довольно жесткие настройки параметров видеокодека, способные удовлетворить практически любого пользователя (но увы не меня), и когда на мотофане наткнулся на методику кодирования с помощью Virtual Dub-а (автор - товарищ под ником blackbox), с богатыми возможностями которого был хорошо знаком еще со времен осваивания захвата видео с видеомагнитофона, сразу решил попробовать. 

Результат, честно скажу, просто ошеломил. Очень четкая, без артефактов картинка (на экране телефона конечно), никакой тормозни даже на аппаратах со скромными вычислительными ресурсами. В общем на сегодняшний день для меня это самая лучшая метода. Немного доработанную версию этой методики хочу представить на ваш суд.

 

Шаг 0.

 

Перед тем, как что-либо делать, убеждаемся в наличии следующего:

 

 

VirtualDub (версия 1.6.14 или выше)

XviD (версия 1.2 beta или выше)

FAAC (версия 1.24.1 или выше)

Yamb (версия 1.5 или выше)

Для кодирования звука в AMR - pvAutor (версия 3.3.1 или выше)

Понимание терминов: кодек, контейнер, битрейт, частота дискретизации, ресемплирование, мультиплексирование, командная строка

Прямые руки

 

При отсутствии чего-либо из пунктов 1-5 качаем недостающий софт из великой сети, благо там его навалом и весит он всего ничего. Если не хватает пункта 6 - в Google, Rambler или в любой поисковик за информацией. Если проблемы с последним пунктом - Вы попали не по адресу. Если Вы находитесь в танке, то рекомендую из него вылезти, прежде чем приступать к изучению данной инструкции.

 

 

Шаг 1.

 

1.1. Запускаем VirtualDub, открываем исходный файл.

1.2. В меню Audio выбираем Full processing mode - в этом режиме становятся доступны опции ресемплирования и изменения числа каналов (моно/стерео).

1.3. Открываем окно конвертера: Audio > Conversion...

1.4. Рекомендуемые настройки:

 

Sampling rate: 22050Hz, High quality

Precision: No change (16-bit)

Channels: Mono

1.5. Экспортируем звуковую дорожку: File > Save WAV...

1.6. Поскольку звук нам больше не нужен, после извлечения звуковой дорожки выбираем: Audio > No audio.

 

Для моего относительно мощного Motorola V3x настроек WAV не менял, выдергивал звук как есть, для последующего более качественного кодирования. Владельцы новых моделей телефонов могут поступить так же.

 

 

Шаг 2.

 

2.1. Сжимаем WAV файл, полученный на предыдущем шаге, с помощью энкодера FAAC. Эта программа похожа на LAME и работает в командной строке.

Запускаем процесс командой

faac -w -b xxx sound.wav (где xxx - битрейт, а sound - название выдернутого звука)

 

Если не указывать битрейт, FAAC определит его автоматически. Для звука 22050Hz mono это будет примерно 48 кбит/с (stereo - 96кбит/с соответственно). Для кодирования музыкальных клипов я использовал для V3x - 41,1kHz 128kb/s AAC stereo, для Е1 - 44,1kHz 48kb/s AAC mono (получаются из соответственно извлеченного в предыдущем разделе WAV), однако если в исходном файле преобладает речь, а не музыка, битрейт можно спокойно понизить до 32-24 кбит/с. Имейте ввиду, что речь идет о среднем, а не постоянном битрейте, поэтому результат может немного отличаться от заданного значения.

2.2. На выходе получаем файл sound.m4a - это AAC в контейнере MP4 (тот же формат, который использует iTunes).

Не мешает прослушать полученный файл и убедиться в отсутствии явных звуковых артефактов - при наличии оных повторяем п.2.1 с бoльшим битрейтом до достижения желаемого результата.

 

2.3. Для тех, у кого телефон не поддерживает звук в ААС, сжимаем звук в AMR с помощью pvAutor. Запускаем програму, выбираем полученный нами в результате 1-го шага WAV-файл, прога определяет его как Audio only (мудро, кроме звука там действительно ничего более), выбираем в настройках AMR кодек, выставляем нужные настройки, жмем ОК - все, звук готов.

 

Пусть полученные звуковые дорожки теперь отдохнут. Очередь до них еще дойдет, а мы переходим к самому увлекательному... 

 

 

Шаг 3.

 

3.1. Возвращаемся в VirtualDub и переходим к самому ответственному этапу - кодированию видео.

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

3.2. Выбираем Filters в меню Video, нажимаем кнопку Add... и добавляем фильтр resize (internal).

3.3. Если не требуется обрезка бордюров, переходим к п.3.5; если обрезка нужна - просто нажимаем OK, временно соглашаясь с настройками по умолчанию.

3.4. В окне фильтров нажимаем Cropping...

 

Ползунком перемотки находим подходящий кадр с достаточно светлыми краями, чтобы было легко определить края кадра. Затем обрезаем бордюры, перетаскивая границы видео окна (можно также пользоваться полями X1, X2, Y1, Y2 offset) Величина обрезки должна быть кратной 4.

Жмем OK и возвращаемся в окно фильтров.

3.5. Теперь необходимо рассчитать разрешение выходного файла (а именно высоту) с целью соблюдения пропорций.

Для этого вооружаемся калькулятором (или ручкой и бумагой для любителей считать в столбик).

Предположим, исходное видео имело разрешение 320*240. В результате мы хотим получить разрешение 176*x.

Из пропорции 320 / 240 = 176 / x находим x = 176 * 240 / 320 = 132.

Если проводилась обрезка бордюров, то подставляем разрешение после обрезки.

Полученную высоту x округляем до ближайшего значения, кратного 4. Например, вместо 99 используем 100.

3.6. Нажимаем Configure... и вводим требуемые значения высоты и ширины кадра.

 

В поле Filter mode выбираем алгоритм ресемплинга.

Nearest neighbor - самый быстрый и тупой алгоритм. Не рекомендуется, поскольку приводит к появлению "ступенек" вместо диагональных линий.

Bilinear - относительно быстрый алгоритм. Дает побочный эффект в виде небольшого "размазывания" картинки, что, как ни парадоксально, может уменьшить количество артефактов сжатия в конечном файле (мягкие контуры требуют меньшего битрейта).

Lanczos3 - самый качественный (и медленный) алгоритм. (РЕКОМЕНДУЮ!)

Кнопкой Show preview можно включить предпросмотр и оценить качество ресемплинга.

3.7. Жмем OK, OK и возвращаемся в главное окно VirtualDub.

 

 

Шаг 4.

 

4.1. Настраиваем частоту кадров. Те, у кого мощные телефоны, могут пропустить этот пункт и оставить частоту кадров как в исходном видео, остальным рекомендую почитать. 

Как известно, рекомендуемая частота кадров для Motorola E398 и E1 - 15 кадр/с. 

Однако, если кодируется ролик без звука, то телефон способен воспроизводить и 30 кадров в секунду. Если аудио в формате AMR, то в некоторых случаях максимальная частота может быть до 25 кадр/с.

Если же звук в формате AAC (как предполагается в этой инструкции), то желательно ограничиться 15 кадрами.

В VirtualDub жмем Video > Frame Rate..., выбираем опцию Convert to fps и в соседнем поле вводим значение желаемой частоты кадров.

 

Внимание, для тех кто по-прежнему сидит в танке: выбирать нужно именно опцию Convert to fps, находящуюся в группе Frame rate conversion, а не Change to __ frames per second в группе Source rate adjustment.

Если выбрать второе, то изменится частота кадров, но их количество останется прежним. Это приведет к эффекту замедленного движения и рассинхронизации аудио и видео ряда (звук будет опережать изображение).

4.2. Жмем OK.

 

 

Шаг 5.

 

5.1. Осталось только настроить видео кодек.

Идем в Video > Compression... и выбираем "XviD MPEG-4 Codec". В списке их могут быть два - нужно выбрать тот, у которого FOURCC = xvid.

 

Для конфигурации кодека жмем кнопку Configure (логично, да?).

 

5.2. В первый раз не мешает нажать Load Defaults, чтобы вернуть все настройки по умолчанию.

После этого устанавливаем следующие параметры:

Profile ( @ ) Level: Simple ( @ ) L2

Encoding type: Twopass 1st pass

При кодировании первым проходом никаких дополнительных настроек не требуется. Virtual Dub будет собирать файл статистики для последующего кодирования "на чисто". 

5.3. OK, OK, выходим из настроек кодека, затем в File, Save as AVI..., обзываем .avi файл скажем video, ОК, все, первый проход пошел. Ждем окончания процесса.

5.4. После окончания первого прохода снова идем в настройки кодека, выбираем:

Profile ( @ ) Level: Simple ( @ ) L2

Encoding type: Twopass 2st pass

Теперь надо разобраться с битрейтом. Все зависит от того, насколько мощный телефон в Вашем распоряжении. На V3x я битрейт не экономил, 128кВ/сек и выше, на свой же Е398 76-100кВ/сек, иначе начинаются тормоза, особенно с хорошим звуком. Ну в общем то 100 для всех будет достаточно. 

 

5.5. OK, OK, OK.

5.6. Начинаем собственно процесс кодирования.

В меню File жмем Save as AVI..., выбираем все тот же файл, на предложение заменить отвечаем ОК и ждем окончания процесса.

 

 

Шаг 6.

 

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

Эту операцию будем делать с помощью YAMB (Yet Another Mp4Box UI) - это графический интерфейс к консольной программе mp4box.

 

6.2. Кнопкой Add добавляем в список потоков видео файл (.avi), а затем аудио, видите, и до него дошла очередь (.m4a или .3gp, если звук сделан с помощью pvAutor).

6.3. Нажимаем Mux и получаем готовый .mp4 файл.

6.4. Заливаем его в телефон, смотрим и наслаждаемся отличным качеством!

 

 

 

P.S. Несмотря на кажущуюся объемность инструкции, на самом деле все ручные операции занимают всего несколько минут.

 

P.P.S. Этот способ пригоден как для коротких роликов, так и для полнометражных фильмов. Я успешно кодировал двухчасовые фильмы, которые проигрывались на телефоне без притормаживаний.

 

P.P.P.S. Загрузка процессора телефона зависит от трех величин: частоты кадров, битрейта видео и битрейта аудио. Если процессор при просмотре работает на пределе своих возможностей, то нажатия клавиш будут отрабатываться со значительным запаздыванием. Для Motorola E1 суммарный битрейт (видео + аудио) свыше 176кбит/сек не желателен, для других телефонов он может быть выше. Насколько - можно установить эксперементальным путем. Например Motorola V3x и SonyEricson W810i спокойно слопали видеоролик с битрейтом видео 200кбит/сек (24fps) и аудио 128кбит/сек (AAC 44,1kHz stereo) не подавившись (суммарный битрейт - 376кбит/сек), а вот Samsung E730 успевал обрабатывать только 8-10 кадров в секунду из этого ролика.

 

P.P.P.P.S. Может кто-нибудь поделится приличным GUI для FAAC? Есть Nero WAV Editor, Moto iTunes, pvAutor, но все это не то. Хотелось бы что нибудь типа RAZOR LAME.

Изменено пользователем Владимир Суздальцев
Ссылка на сообщение
Поделиться на другие сайты


Небольшой видеоклип, показывающий результаты этого метода, можно скачать здесь

Ссылка на сообщение
Поделиться на другие сайты


Предлагаю в этой ветке форума выкладывать качественное видео для телефонов, желательно изготовленных самостоятельно. Вот например в довесок к файлу из предыдущего поста (к стати это Alexi Laiho [Children of Bodom & Sinergy] - Passage to the Reaper) видеоклип группы Земляне - Эй, Страна!

Изменено пользователем Владимир Суздальцев
Ссылка на сообщение
Поделиться на другие сайты


Видео на очень красивую песню The Bard's Song (In The Forest) легенд эпического металла немецкой группы Blind Guardian

Изменено пользователем Владимир Суздальцев
Ссылка на сообщение
Поделиться на другие сайты


3GP Video Converter - программа, с помощью которой вы можете легко перевести MPEG, VOB, AVI, DV, MOV, анимационный GIF, swf, MPEG4, RM, WMV, ASF, WAV, WMA, MP3, 3GP, m4a, mp4, h264, MP2, OGG, m4v в популярный и хорошо понимаемый смартфонами и мобильными телефонами формат - 3GP, и соотвественно в обратном направлении 3GP в AVI и MPEG. 3GP Video Converter имеет удобный интерфейс и массу настроек

 

Оч.просто,быстро и удобно

 

А VirtualDub-вовсе не для таких мелочей :blink:

ImTOO_3GP_Video_Converter_v3.1.9_build0829.zip

Ссылка на сообщение
Поделиться на другие сайты


Я перепробывал очень много программ для конвертации видео, MPEGableBroadcaster, pvAuthor, PocketDivXEncoder (в этой вместо надписей в интерфейсе вообще картинки, наверно и для питекантропов подойдет), PlatoFLVConvert, еще целую кучу энкодеров (сервисные программы, идущие с телефонами не в счет, все редкая фигня), в том числе и эту. Не спорю, действительно удобная и простая. Какие то конвертируют лучше, какие то хуже, НО с вышеописанным способом не сравнится ни одна! Ну во всяком случае мне пока не встречалась такая. А Virtual Dub с родным братом Nandub-ом они для перекодирования видео, мы именно об этом и говорим в данной ветке. К тому же эта инструкция поможет кому нибудь разобраться с Virtual Dub, и с ее помощью перегонять DVD в .avi для компьютера. К стати, качественный видеоклип на телефоне - не такая уж и мелочь. Ну хотя бы потому, что можно повымахиваться перед знакомыми! Да и публиковать такие клипы в интернете куда как легче, чем их несжатые оригиналы. Всеж таки 5-10 мегабайт это не 40-60, а Islander вон у меня в HDTV вообще 136 метров. Тем более что не все еще у нас обременены безлимиткой. Согласись, что в такой мизерный объем хочется втиснуть относительно хорошую картинку с приятным звуком, а не расползающуюся на уродливые квадраты жуть с ритмичным хрипом в качестве аудиодорожки.

 

Nightwish, видео на песню The Islander. Этот клип я переделывал для своего Motorola V3x, битрейт видео - 144kbit/s, звук - 128kbit/s AAC stereo, частота кадров 25fps. Соответственно вырос и размер файла, теперь он весит ок. 10МВ. Без тормозов пошел и на SonyEricson K750i

Изменено пользователем Владимир Суздальцев
Ссылка на сообщение
Поделиться на другие сайты


Рисованный видеоклип на аккустическую версию песни Там высоко группы Ария. Видео было зарублено руководством Российского MTV к показу на этом телеканале на основании того, что он не достаточно красочный.

Ссылка на сообщение
Поделиться на другие сайты


Группа MEGADETH, видеоклип A Toute La Monde. Очень зацепил видеоряд. Тематика схожа с предыдущим клипом Арии. Мдя, очень мрачная у меня коллекция оказывается...

Ссылка на сообщение
Поделиться на другие сайты


http://www.rock-video.net/pictures/AlisA.jpg

 

Видеоклипы Небо славян, На пороге Неба, Rock'n'Roll Крест и Родина культовой российской группы Алиса. В видео "На пороге Неба" использованы кадры из отечественного фентези "Волкодав"

Изменено пользователем Владимир Суздальцев
Ссылка на сообщение
Поделиться на другие сайты


Видео Light the Universe ветеранов металлического цеха немецкой группы Helloween. В создании и записи песни, а так же в съемках видеоклипа приняла участие Кэндис Найт, супруга Ричи Блекмора (и по совместительству вокалистка Blackmore's Night).  

Ссылка на сообщение
Поделиться на другие сайты


  • 1 месяц спустя...

В прошлом году на PC вышла ролевая игра Sacred 2, большой подарок поклонникам Diablo. Музыку к игре написала группа Blind Guardian. В игре есть один квест, за выполнение которого игрок получает... возможность посетить концерт Blind Guardian в столице игрового мира. Вот видеоклип на игровом движке с этого концерта.  

 

Еще одно видео на игровую тему, Люмен - Три пути, понравится в первую очередь поклонникам игры "S.T.A.L.K.E.R - Тени Чернобыля", коих на форуме немало.

Ссылка на сообщение
Поделиться на другие сайты


  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...