Pull to refresh

Comments 31

Спасибо, пригодится. Хотя и на словах все понятно, но в такой теме крайне приветствовались бы иллюстрации.

П.С. Сколько в среднем занимает времени конвертация из стандартного 700 — 1300 МБ рипа в такой размер на не самом топовом железе?
Спасибо за первый, нейтральный комментарий.
К сожалению, я все это делал достаточно давно и на тот момент решил все это описать на понятном мне языке. Я не большой спец по видеообработке, но метод описанный здесь мне помог не скучать со своим SAMSUNG STAR в поезде из Питера в Волгоград.
Минусаторов хочется попросить хотя бы намекнуть — за что?
Да я не Фигурнов. Но по-моему все понятно описал.
Скриншотов не наделал. Каюсь.
наверное лучше все же по бокам обрезать… конечно какие-то детали пропадут, но зато на телефоне будет лучше смотреться…
А я, наоборот, когда перегоняю видео для мобильного девайса обрезаю бока (т.е. в конкретном случае высоту подогнал бы к 240, и по бокам обрезал по 126 пикселей). Экран мобильного девайса и так небольшой, черные полосы сверху и снизу сделают видео вообще микроскопическим, а по краям картинки как правило особо важных деталей в фильмах не бывает.

Но тут на вкус и цвет :)
А для анаморфиков пропорции на выходе как считаете?
UFO landed and left these words here
Зачем полосы? Любой нормальный проигрыватель их сам добавит. Много свободного места на диске? То место где полоска начинается это очень контрастное место, и потребует больше места и ресурсов. А такое кодирование аудио в «лоб» выдаст вам рассинхронизацию видео и аудио. И да, ffmpeg и mencoder умеют пропорциональный апскеил и даунскеил.
А как бы вы посоветовали кодировать звук, чтобы не было рассинхронизации?
Добавить async, vsync?
Я кодирую всегда отдельно звук и видео. Звук через fifo: * -> pcm -> aac. Видео в зависимости от кол-ва свободного времени — 1 проход или 2 прохода.
А зачем лишний прогон в pcm?
Не проверяли такой setup на live потоке?
В данный момент у меня несколько live потоков кодируются одним ffmpeg, без расклеивания дорожек и проблем со рассинхронизацией нет, однако, когда поток ведет себя не очень хорошо — звук, действительно, убегает.
Думаю попробовать ваш метод, но очень уж он громоздкий…
Когда дорожка оригинала в AC3, то звук рассинхронизируется если без прогона в pcm делать.
> Думаю попробовать ваш метод, но очень уж он громоздкий…
Perl/bash/python,ruby скрипт и все проблемы решены.
Может у вас ffmpeg корявый? А то у меня на видеохостинге несколько сотен роликов (длиной до 2 часов) кодируется и никаких рассинхронизаций.
Не, я на разном железе, ОС, версиях пробовал. Как только аудио в AC3 так сразу рассинхрон.
Ну еще может быть дело в конкретной версии ffmpeg. Ее меняли?
> Не, я на разном железе, ОС, версиях пробовал.
В таком случае, странно. Знаю немало проектов, что кодируют так, как и я, никаких проблем с синхронизацией ниукого нет.
Значит мы кодирует сильно разные вещи.
Не уверен. У меня кодируется от BD Remux на 30Гб с кучей дорожек, до роликов с телефона, правда все в один формат (flv и сейчас уже mp4, h264 для просмотра онлайн).
Однозначно можно сказать только то, что кодировать в лоб можно и рассинхронизации не будет. Она наблюдается только в определенных случаях конфигурации самого кодировщика/кодеков. Ставить костыли в виде раздельного кодирования, это из разряда вредных советов.
С каких пор раздельное кодирование и кодирование в 2 прохода вдруг стало вредным советом? У Меня такая проблема возникает только если оригинал в AC3, все остальное кодируется как надо.
Костыльное решение — вредный совет. У людей будет проблема с конфигурация, а решать они ее будут через Ж
Решение не костыльное, а правильное. Кодирование в 2 прохода само по себе лучше, чем в один (я сейчас говорю о проходах, а не раздельном кодировании аудио и видео). Не использовать ffmpeg для создания mp4 надо хотя бы потом, что генерация mp4 там давно сломана, и чинить ее не будут.
А мы о 2х проходах и не говорили вроде;) Именно о раздельном кодировании аудио и видео.

А что не так с mp4 в ffmpeg? Мы используем flv контейнер, но вот решили перейти на mp4 и действительно, какая-то беда с перемоткой. Что лучше использовать для mp4?
А мы о 2х проходах и не говорили вроде;) Именно о раздельном кодировании аудио и видео.

Я выше указывал, что 2 прохода использую для видео.

А что не так с mp4 в ffmpeg? Мы используем flv контейнер, но вот решили перейти на mp4 и действительно, какая-то беда с перемоткой. Что лучше использовать для mp4?


ffmpeg (а точнее libav если я правильно помню), ложит payload hint (информация для стриминга) в конец файла, по стандарту должна быть в начале. Об этом кстати пишется при каждом кодировании. Я использую mpeg4ip.
Мои возражения относились к вот этому: Я кодирую всегда отдельно звук и видео.

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

Вашу утилиту посмотрю, спасибо. Возможно, поможет завершить таки переход на mp4.
Так сколько по времени занимает кодирование?
Никогда не кодировал видео консольными утилитами, решил попробовать, а то что-то телефон 720p не всегдя тянет. С такими настройками как у автора (только libfaac поменял на libvo_aacenc) на x64 версии на i7-q720m выдает порядка 150-180fps. т.е. грубо кодирует раз в 7 быстрее воспроизведения. Как прикрутить с кодированию opencl пока не нашел, но как по мне, то для быстрого перегона видео такой производительности не достаточно… Буду копать.
Соврал. Не тот файл кодировал :/ Из 720p делает 800x480 на скорости в 50 fps. Беда :(
Офигенная статья для Хабра!

Первая часть — целых два абзаца — посвящена арифметике, расчет пропорции и пара вычитаний (6й класс средней школы).
Вторая часть посвящена синтаксису командной строки одной единственной утилиты. (команда help — тоже элементарнейшее знание).

P.S. Да, у меня самого 0 постов в «Моем», но было бы стыдно создавать посты подобные этому.
и сеошником попахивает, давно я столько выделения не видел
Мне тоже показалось, что он рекламирует эти ужасные черные полосы :black,unsharp!
Sign up to leave a comment.

Articles