Открыть список
Как стать автором
Обновить

Комментарии 53

Я такой демон на коленке написать могу :D
умнца
Я это к тому что, ваш демон по сути ничего и не умеет. Обыкновенная простейшая прослойка.
KISS — keep it simple stupid.
keep it short and simple
если так, тогда человек который будет использовать демон, все равно должен прочитать входные параметры используемых утилит.
там есть значения поумолчанию. их хватит в подавляющем большинстве случаев
Смотри коленку не сцарапай.
поздно, теперь у меня веселое тату с подсветкой кода.
многие могут, а вот не полениться и выложить куда-нть типа Хабра — единицы.
Все сводиться к тому, что нужно идти и читать www.mplayerhq.hu/DOCS/man/en/mplayer.1.html
Так тогда демон зачем?
Разве человек не может сам послать то, что ему нужно через exec?
В коде демона есть параметры по умолчанию. Ничего читать не надо если лень, в крайнем случае интуитивно можно понять что для чего надо. Но и хорошее чтиво никогда не повредит.
Видел, я же не мог не прочитать предыдущий ваш пост.
Но по моему опыту скажу, что чем больше передавать параметров в mencoder и ffmpeg, тем меньше вероятность универсальности.
Хотя с flv намного проще чем, скажем, двух проходное кодирования с mpeg2 в mpeg4.
Поэтому когда каждый раз я вижу keyint=50:vbitrate=300:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 и какой-то параметр мне не знаком, то иду в ман и читаю, ччто советую делать всем, кто хоть как-то сталкивается с кодированием видео.
правильно, кто спорит что читать маны надо. не понимаю в чем претензия? выбор прост, не нравятса параметры по умолчанию, меняй код или передавай их через парметры
1 — exec — зло.
2 — демон крутится отдельно от сайта, что в общем-то хорошо.
Ну я пока не увидел за 1 год огромных нагрузок, чем exec зло. Объясните пожалуйста.
У меня демон, если так можно назвать на php, он отдельно от сайта, всегда запущен на серверах, выполняет одновременно десятки задач.
>> 1 — exec — зло
почему?
Когда нам потребовалось под linux конвертить загруженное пользователями видео в mp4, 3gp и flv + генерить превьюшки, мы обошлись связкой ffmpeg + imagemagick. Предварительно распечатали их мануалы и повесили на стену.
ffmpeg не вызывает доверия. mencoder гораздо более универсальный и качественный продукт.
imagemagick — я использовал раньше но ffmpegthumbnailer гораздо удобнее
Это действительно так. У ffmpeg постоянно меняются параметры командной строки. В результате скрипты приходится переписывать. Mencoder — это по сути прослойка между юзером и ffmpeg. Но там интерфейс гораздо стабильнее.
я не понимаю откуда вы взяли что Mencoder это прослойка. ОТКУДА?
ffmpeg это просто нестабильный интерфейс для libavcodec (который ими же и разрабатывается). Mencoder это стабильный интерфейс для libavcodec + куча других возможностей.
вот это уже верно. добавлю+куча других кодеков

а да, а метаданные вы чем записывали?
Как чем? ffmpeg-ом, при конвертации, параметрами в командной строке. Мы же не просто так мануалы на стену вешаем, а чтобы были всегда под рукой, там обо всем написано ;-)
в смысле вы стены с собой носите?
у меня вот консоль всегда под рукой ;)
и зачем печатить мануалы? не кажется ли что набрать man ffmpeg проще чем встать и подойти к стене?)))
офисная гимнастика
Хоть mencoder и использует ffmpeg, на нем некоторые вещи делать удобнее. И было замечено, что работают ffmpeg и mencoder по разному в некоторых местах.
#sudo aptitude show mencoder
Пакет: mencoder
Состояние: установлен
Автоматически установлен: нет
Версия: 2:1.0~rc2-0ubuntu17
Приоритет: дополнительный
Раздел: multiverse/graphics
Сопровождающий: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Размер в распакованном виде: 8749k
Зависимости: libasound2 (> 1.0.17), libc6 (>= 2.7), libcdparanoia0, libdv4, libenca0 (>= 1.9), libfaac0 (>= 1.26), libfontconfig1 (>= 2.4.0), libfreetype6
(>= 2.3.5), libfribidi0 (>= 0.10.9), libgcc1 (>= 1:4.1.1), libgif4 (>= 4.1.6), libjpeg62, liblircclient0, liblzo2-2, libmad0 (>=
0.15.1b-3), libmp3lame0 (>= 3.98), libmpcdec3, libncurses5 (>= 5.6+20071006-3), libogg0 (>= 1.0rc3), libpng12-0 (>= 1.2.13-4),
libsmbclient (>= 3.0.24), libspeex1 (>= 1.2~beta3-1), libstdc++6 (>= 4.1.1), libtheora0 (>= 0.0.0.alpha7.dfsg-1.1), libtwolame0,
libvorbis0a (>= 1.1.2), libx264-59 (>= 1:0.svn20080408), libxvidcore4 (>= 1:1.0.0-0.0), zlib1g (>= 1:1.1.4)
Предлагает: w32codecs, libdvdcss, mplayer-doc
Описание: MPlayer's Movie Encoder
A simple movie encoder, designed to encode MPlayer-playable movies (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET) to other MPlayer-playable formats.
It can encode with various codecs, like DivX4 (1 or 2 passes), libavcodec, PCM/MP3/VBRMP3 audio. Also has stream copying and video resizing abilities.



Где в зависимостях ffmpeg? Вы зачем людей вводите в заблуждение?
что-то я где-то перемудрил и перечитал :)
интересно что не только у вас такое заблуждение. откуда взяли эту хрень. у меня ffmpeg даже не установлен
Они оба используют libavcodec (который разрабатывается командой ffmpeg). И на деле mencoder умеет все тоже самое что и ffmpeg, только дефолтные значения у них разные.
О точно спасибо, это я как раз и хотел сказать, вылетело из головы, помнил что, что-то общее есть.
кодек и софт не одно и тоже. тем более что mencoder может использовать множество кодеков

Available codecs:
copy - frame copy, without re-encoding. Doesn't work with filters.
frameno - special audio-only file for 3-pass encoding, see DOCS.
raw - uncompressed video. Use fourcc option to set format explicitly.
nuv - nuppel video
lavc - libavcodec codecs - best quality!
vfw - VfW DLLs, read DOCS/HTML/en/encoding-guide.html.
qtvideo - QuickTime DLLs, currently only SVQ1/3 are supported.
libdv - DV encoding with libdv v0.9.5
xvid - XviD encoding
x264 - H.264 encoding

У ffmpeg не меньше сторонних кодеков (помимо libavcoded):
--enable-avisynth
--enable-libamr-nb
--enable-libamr-wb
--enable-libdc1394
--enable-libdirac
--enable-libfaac
--enable-libfaad
--enable-libfaadbin
--enable-libgsm
--enable-libmp3lame
--enable-libnut
--enable-libschroedinger
--enable-libspeex
--enable-libtheora
--enable-libvorbis
--enable-libx264
--enable-libxvid
Хотя, вы назвали не все. В списке ./configure у mplayer(mencoder) их больше (кроме libavcodec):
real xanim faad2 libmpeg2 liba52 mp3lib tremor libschroedinger libdirac x264 xvid libdv libamr_wb libamr_nb qtx win32 faac musepack libdca libtheora speex toolame twolame libmad liblzo gif
ну да, я назвал лишь те что включены по умолчанию в пакете из репозитория убунту
Уже несколько часов пытаюсь скомпилить ffmpegthumbnailer (простихоспади) под венду через mingw. Фиг там… Бинарники не нашел.
ну это уже проблемы тех кто пишет код, который будет работать на *nix почему-то в другой ОС.
У меня код работает по виндовс (т.к. конечный продукт — WMV) и нужен съемщик скриншотов. Пробовал mplayer'ом (жутко нестабильно) и простым ffmpeg'ом (долго, когда много нужно сделать). Вот и решил вашу штуку попробовать.
mplayer'ом нормально. Но надо определять длину ролика. для этого хороша вроде бы mediainfo
Почему нестабильно mplayer'ом?
На некоторых файлах повисает по непонятным причинам.
flvmeta работает быстрее ямди :) личный опыт, так сказать…
Мечта: на mencoder/ffmpeg накатить патч от Nvidia для задействования CUDA, да поставить на сервер видюшку соответствующию…
Зачем? этот патч будет только декодировать, кодирование видео лежит полностью на процессоре.
Это почему? Такой патч есть(не о гепотетическом патче речь? Я не в курсе, вдруг пропустил такой.)? Думаю, имелось в виду, что патч CUDA перенесет вычисления с процессора на видюху и только. Хотя это скорее не патч должен получиться, а серьезное переписывание кода.
Хм, прокатилась неодопонятка, я про патч для задействования VDPAU, как раз нвидия его выкатиле в конце ушедшего года.
А вы не могли бы просветить — сколько по времени занимает конвертация видео-файла, длительностью, допустим, 10 минут, с использованием ваших дефолтных параметров для mencoder?
хм… смотря какого файла
И смотря что считать дефолтными параметрами. В любом случае надо задавать кодек и способ контроля качества (битрейт, квантователь).
имеются в виду те что есть поумолчанию у демона
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.