Держите FFmpeg php код конвертера в 3GP

1. svyaznoy (16.12.2009 / 14:54)
$ret = shell_exec('/usr/bin/ffmpeg -i /var/www/ЛОГИН/data/www/САЙТ/ПАПКА/Фильм.avi -vcodec h263 -s 176x144 -acodec libamr_nb -ac 1 -ar 8000 -r 15 -ab 12.2k -y /var/www/ЛОГИН/data/www/САЙТ/ПАПКА/Фильм.3gp');
echo $ret;
На папку желательно cmod 777, можно изменять настройки, битрейт и другое (не рекомендую) так как подобраны оптимальные. Путь к файлу может немного отличатся от пути на вашем сервере. (уточняйте в сапорте)
Итак выбираем фильм у меня на сайте (сайт в анкете) импортируем к себе на хост с помощью кода выше делаем 3gp фильм без рекламы. Не рекомендую конвертировать фильмы HDTV .mkv получаются растянутые.

2. Ден (16.12.2009 / 15:00)
нагрузка большая?

3. Станислав (16.12.2009 / 15:01)
1 и прощай хост? D
Скока времени занимает, ну скажем, 4 минуты видео avi для конвертирования в 3gp?

4. svyaznoy (16.12.2009 / 15:38)
Я конвертировал скорость не очень (
Фильм в среднем 1.5GB иногда уходило до 5 мин.
#3 В среднем 1-2MB в сек за соответственно фильм 3gp (100 мегабайт) где то минута.

5. svyaznoy (16.12.2009 / 15:45)
2 Не знаю.
Импорт забирает много времени!
Если FTP сервак отдаёт быстро и ваш хост берет быстро то всё хорошо за 1-2 минуты фильм будет у вас.
Если нет то всё зависит отдачи и приёма...

6. 3DwEp (22.12.2009 / 23:33)
1, а только из avi конвертирует?
А на локалке можно? D

7. Алексей (23.12.2009 / 02:48)
А представьте если вы используете этот скрипт и 100 человек одновременно попробуют переконвертировать себе видео. Эффект будет стоящий. Вообще думаю лучше сразу на компе сделать нужные форматы и залить на хост. Для этого существует множество полезных программ.
P.S. #6 на локалке врядли, т.к. для этого должна быть установлена специальная библиотека ffmpeg

8. Алексей (23.12.2009 / 02:50)
root (16.12.09 / 15:38)
Я конвертировал скорость не очень (
Фильм в среднем 1.5GB иногда уходило до 5 мин.
#3 В среднем 1-2MB в сек за соответственно фильм 3gp (100 мегабайт) где то минута.
Во время конвертирования ради интереса посмотри на сколько будет загружен CPU

9. Б.В. (23.12.2009 / 02:57)
7, смотря какая у кого локалка. И чтоб избегатьнагрузки очнь большой можна одно видео конвертить всего РАЗ и сохранять в нужную папку.. Короче у кого руки на месте, тот сделает все по нормальному smile )

10. Удаленный (24.12.2009 / 06:45)
А ffmpeg намного быстрее работает?

11. ктулху (24.12.2009 / 06:52)
10, дак это и есть ffmpeg, посмотри на команду то

12. Слафффка............ (24.12.2009 / 10:41)
на нормальных хостах exec отключен =))))

13. Слафффка............ (24.12.2009 / 10:43)
и зачем вывод в браузер!? так же все выполнится...

14. svyaznoy (24.12.2009 / 11:40)
#7-8 Поясняю смысл этого кода:
Код используется только админом сайта.
Он нужен тем у кого инет медленный или траф ограниченный, (импорт фильма 1.5GB производится хостом)
Я перепробовал кучу прог-конвертеров для PC но качество меня не устраивает то вес большой, то качество квадратиками и т.п.
Так как фильм длинный то в большинстве случаев звук то обгоняет действие сюжета то опаздывает.
Загрузку CPU сервера не знаю, и полагаю что %90 админов сайтов не знает, это знает root.
Если скрипт забирает много памяти то можно дописать код который ограничивает потребление ресурсов.

15. svyaznoy (24.12.2009 / 11:57)
#6 Основа кода универсальная нужно просто изменить параметры (что, из чего и как конвертировать), можно переделывать в разные форматы в флэш, или к примеру в avi, mp3, wav, acc, jpg, gif и т.п.
Сейчас для смартов стараются делать avi 240x320. По поводу нарезки, склейки, титров, и других функций ffmpeg я не знаю.
Пример конвертирования из wmv в flv
('/usr/local/bin/ffmpeg -i ./video1.wmv -f flv -s 320x240 -b 1024k -ar 22050 -ab 64k ./video.flv');

16. svyaznoy (24.12.2009 / 12:01)
Для начала проверьте работает ли ffmpeg?

<?php
if(extension_loaded('ffmpeg'))
{
echo 'Тут модуль Видео работать будет!';
}
else
{
echo 'Нет библиотека не подключена ;(';
}
Оф. параметры ffmpeg на английском:
http://ffmpeg.org/ffmpeg-doc.html
Если кому что не понятно спрашивайте

17. Б.В. (24.12.2009 / 12:04)
Слуш,root, менявот одна мысль беспокоит...Можна мп3-ку в амр сконвертить? Какая библа для этого над?

18. svyaznoy (24.12.2009 / 12:08)
Википедия о FFMPEG
http://ru.wikipedia.org/wiki/FFmpeg

19. svyaznoy (24.12.2009 / 12:10)
17 библа ffmpeg у тебя стоит?

20. Б.В. (24.12.2009 / 12:10)
Конешн... через неё все делать ?_)

21. Б.В. (24.12.2009 / 12:11)
Я посто хз.. ещё ж lame со звуком работает..но я черезнеё ток битерейт меняю..

22. svyaznoy (24.12.2009 / 12:16)
#21
ffmpeg -i ../papka/pesnya.mp3 -ac 1 -ab 12 -ar 8000 ../fail.amr
или
ffmpeg -y -i myaudio.mp3 -ab 18.25k -ar 16000 -acodec libamr_wb -ac 1 mynewaudio.amr

23. svyaznoy (24.12.2009 / 12:20)
FFMPEG библиотека изначально делалася под Denwer затем слепили php под серверы windows и немного изменили под lynux. В общим если у кого руки кривые или нет этой библиотеки просите сапорт вам помочь в установке.

24. svyaznoy (24.12.2009 / 12:26)
Библиотеки и инструкцию по установке ffmpeg_php вы можете скачать здесь http://www.sergey89.ru/ так же найдёте много полезной информации о установке, ошибках.

25. Б.В. (24.12.2009 / 12:30)
цуко.. записывает файл в ноль байт %)

26. svyaznoy (24.12.2009 / 12:38)
25 У меня тоже по началу такое было, укажи правильный путь к файлу mp3 типа /var/www/блаблабла/file.mp3
И ещё попробуй не hell_exec('/usr/bin/ffmpeg а hell_exec('/usr/local/bin/ffmpeg или спроси в сапорте правильный путь.

27. svyaznoy (24.12.2009 / 12:40)
У меня сервер на lynux по этому путь к файлам может отличатся от windows

28. Б.В. (24.12.2009 / 12:42)
хз.. вроде правильные пути указываю.. лан, погуглю,сенкс большое ))
п.с. я не на хосте делаю,а на локалке,через консоль...

29. Удаленный (24.12.2009 / 15:15)
Хм, у меня на компе 1.5GВ фильм , из avi в mp4 240x320 ~512kbps конвертирует минут 15, почему на хосте где на сервере еще куча людей быстрее? да и комп вроде не слабый, DDR2 4GB RAM, 2x 2.93 core 2 duo E7500, и загрузка ЦП бывает 50 процентов, мне кажется недолго будешь жить на хосте с таким скриптом

30. Б.В. (24.12.2009 / 15:19)
26.ОС какая?

31. Удаленный (24.12.2009 / 15:20)
30, Семерка

32. Б.В. (24.12.2009 / 15:21)
ну вот. Ана серверах Линь стоит.Винду с линуксом и близко ставить нельзя.

33. svyaznoy (24.12.2009 / 17:35)
#29 У меня нотик тоже пыхтит когда конвертирует. Попробуй разницу между конвертацией на денвере и на софте-конверте. Как протестируешь отпишись. Может у кого то VDS smile
Ещё вопрос что значит 2x 2.93 ?

34. svyaznoy (24.12.2009 / 17:36)
#32 У меня хост на лине.

35. Б.В. (24.12.2009 / 18:44)
Я не о нагрузке говорил, а о скорости работы.
У меня при конвертации на винде (софтом конвртирую) порц вообще до 100% забивается.

36. Удаленный (25.12.2009 / 01:46)
root (24.12.09 / 19:35)
#29 У меня нотик тоже пыхтит когда конвертирует. Попробуй разницу между конвертацией на денвере и на софте-конверте. Как протестируешь отпишись. Может у кого то VDS smile
Ещё вопрос что значит 2x 2.93 ?
2 ядра по 2.93 Ghz

37. svyaznoy (25.12.2009 / 09:30)
Слово "x2" или "по" лишнее, а то можно подумать что у тебя два проца отдельных а не один двух ядерный.
2 ядра по 2.93 Ghz не означают суммарную частоту 5.86 Ghz по этому "по" не пишится.
Хотя в аналогичных примерах да, к примеру 2 поршня по 1000сс объём движка будет 2 Литра, или ОЗУ 2х2048MB получится 4GB.

URL: https://visavi.net/topics/3945