Комментарии 31
Я помню как-то писал похожий демон, только папки не сканировал, после загрузки файла пхп через сокеты передавал параметры демону и он конвентировал видео…
А можно вообще поизврощаться, запустить конвертацию из пхп…
echo 'Файл загружен.';
flush();
exec('mencoder ...');
А можно вообще поизврощаться, запустить конвертацию из пхп…
echo 'Файл загружен.';
flush();
exec('mencoder ...');
0
Хорошая статья для будущих начинаний. Добавил в букмарки!
+1
я как-то тоже писал только на пхп. замучился с параметрами для менкодера для достижения меньшего размера и лучшего качества аж жуть…
0
проверять директорию каждые 10 секунд — неправильно.
почитайте о famd.
почитайте о famd.
+1
Тоже занимаюсь «онлайн» конвертацией видео, но только не в flv, а в quicktime(h264) с помощью ffmpeg.
Был написан небольшой скриптик на php и повешен в крон. Раз в 10 минут он «смотрит в базу» и если там есть новый файл — конвертирует его. Чтобы избежать одновременного запуска нескольких копий этого скриптика сделал проверку:
Параметры для ffmpeg можно посмотреть здесь: habrahabr.ru/blogs/mplayer/39224/ (#UPD3)
Превью берется с 3 секунды.
Был написан небольшой скриптик на php и повешен в крон. Раз в 10 минут он «смотрит в базу» и если там есть новый файл — конвертирует его. Чтобы избежать одновременного запуска нескольких копий этого скриптика сделал проверку:
exec("ps aux | grep ffmpeg",$pslist);
//echo '<pre>';print_r($pslist);
for($i=0; $i < count($pslist); $i++)
{
$pslist[$i] = ereg_replace(" +"," ",$pslist[$i]);
$item = explode(" ",$pslist[$i]);
if(stristr($item[10],"ffmpeg")) { echo "ffmpeg running...".$item[10]; exit; }
}
* This source code was highlighted with Source Code Highlighter.
Параметры для ffmpeg можно посмотреть здесь: habrahabr.ru/blogs/mplayer/39224/ (#UPD3)
Превью берется с 3 секунды.
+1
Спасибо за идею!
При вызове этой команды бывает что она себя «индуцирует», тоесть ффмпеги не запущены а есть строка
apache 74746 0.0 0.0 1520 724 ?? RL 2:27AM 0:00.00 grep ffmpeg
поэтому чтобы обнаружить такую строку
При вызове этой команды бывает что она себя «индуцирует», тоесть ффмпеги не запущены а есть строка
apache 74746 0.0 0.0 1520 724 ?? RL 2:27AM 0:00.00 grep ffmpeg
поэтому чтобы обнаружить такую строку
-1
выбирал между fmpeg и mencoder. Судо по ресечу, ffmpeg намного меньше форматов поддерживает
ну и проекту mplayer все таки больше доверия
ну и проекту mplayer все таки больше доверия
0
и еще, расскажу такую поучительную историю. Однажды возникла задача обработки каких-то директорий, и что-то там с ними деланья. Подробностей не помню, но суть была в напряженной работе с файловой системой. После работы, попивая пиво с нашим одмином, я рассказал ему суть задачи. Ну обсудили алгоритм, вобщем обычный треп двух IT-шников. И тут он мне говорит: «Рома, я тебя своими руками придушу, если ты это все реализуешь на php». Я и не думал это делать на php, но спросил, «почему?» Он ответил: «Каждому языку свое применение»
И я с ним согласен.
И я с ним согласен.
0
Спасибо.
И с новым годом, черт побери!
И с новым годом, черт побери!
+2
Лучше будет, если заюзать inotify.
С Новым годом!
С Новым годом!
+1
а что помешало сделать полноценный демон с секциями start stop restart… короче по всем правилам?
+1
ну да, а из него уже можно делать отслеживание pid, прибивать nohup/screen, вобщем все тоже самое что вылезает в гугле на запрос «screen rtorrent as service»
+1
У меня аналогичное, только смотрит через inotify и кодирует через ffmpeg, сразу вопрос на засыпку, накладываю логотип на видео, из-за чего приходится извращаться по принципу…
шаг 1 парсим вывод ffmpeg -i и вычисляем пропорции которые требуются для вписывания в 320x240
шаг 2
ffmpeg -i вход -b 640K -f flv -s размер -ar 22050 -y выход
шаг 3
ffmpeg -i вход -b 384K -f flv -ar 22050 -vhook '/usr/lib/vhook/imlib2.so -x «сдвиг -90px» -y 2 -i 1.png' -y выход
Есть возможность за один проход в отресайзить и наложить логотип в mecoder или чемнить еще?
шаг 1 парсим вывод ffmpeg -i и вычисляем пропорции которые требуются для вписывания в 320x240
шаг 2
ffmpeg -i вход -b 640K -f flv -s размер -ar 22050 -y выход
шаг 3
ffmpeg -i вход -b 384K -f flv -ar 22050 -vhook '/usr/lib/vhook/imlib2.so -x «сдвиг -90px» -y 2 -i 1.png' -y выход
Есть возможность за один проход в отресайзить и наложить логотип в mecoder или чемнить еще?
0
Грабли: flvtool2 — подходит только для маленьких видеороликов, т.к. грузит весь файл в память, только затем начинает работать над ним.
0
спасибо, полезная вещь, только думал о таком, чтобы по фтп постить файлы и видео в блог, а не каждую отдельно.
0
Я сейчас применил это для жены. У неё плеер тока mpeg4 формат поддерживает. Вот сделал ей 2 папочки. В одну копируешь по сети любой формат, из другой забираешь нужный)))
+1
Следить за папкой — хорошо конечно. Но как во время запуска удостовериться в том, что файл уже можно начинать кодить и что он на данный момент не находится в процессе заливки/копирования?
Я буквально неделю назад писал кодирующего демона на руби и решил этот вопрос для себя следующим образом: видео заливается в одну папку, а сам демон смотрит в другую. Внешняя программа неспешно заливает видео в нужную папку, а потом кладет еще один пустой файлик с таким же именем туда, куда смотрит демон. Появление пустого файла демоном рассматривается как команда начинать.
Я буквально неделю назад писал кодирующего демона на руби и решил этот вопрос для себя следующим образом: видео заливается в одну папку, а сам демон смотрит в другую. Внешняя программа неспешно заливает видео в нужную папку, а потом кладет еще один пустой файлик с таким же именем туда, куда смотрит демон. Появление пустого файла демоном рассматривается как команда начинать.
0
Коллеги, нужен совет! Есть видео, которое кодируется в Final Cut и на выходе мы получаем mov (h.624). ЕСть портал с плеером, способным играть flv (h.264).
Вопрос, насколько гиморно заставить сервер понимать имеющийся контейнер?
Вопрос, насколько гиморно заставить сервер понимать имеющийся контейнер?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Демон конвертации видео в FLV