PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 9
Snegfighter Отправлено: 13 Октября, 2008 - 16:44:25 • Тема: animated gif from movie • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 165
позвонить члену функции ВзятьСледущийКлючевойФрейм() на не-объект Улыбка

Ну я понимаю, что функция библиотеки php_ffmpeg вызывает поток который объектом этой функции не является. Т.е., то что передается этой функции в качестве параметра с которым она предназначена работать не является требуемым типом. как я понял. Но почему вопрос, ведь я ей ее же функцией другой только даю этот тип. Недовольство, огорчение

погуглил, посмотрел... обычно ошибка возникает если не инициализировано то что вызывается... Но у меня функция то вызывать должно все что надо. И почему открыть не может мувик, если функция к нему оращается после того как скопирует ролик.
Snegfighter Отправлено: 13 Октября, 2008 - 07:50:23 • Тема: animated gif from movie • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 165
$frame->addFrame(ffmpeg_frame frame_to_add) //Add a frame to the end of the animated gif.
frame_to_add - The ffmpeg_frame object to add to the end of the animated gif.

То есть функция addframe добавляет кадр в конец анимированного gif
Только не просто кадр а ffmpeg_frame-объект. который он берет из
$frame = getNextKeyFrame($filename)

Документация:

$movie->getNextKeyFrame() //Returns the next key frame from the movie as an ffmpeg_frame object. Returns false if the frame was not found.


так, посмотрел еще
$movie = new ffmpeg_movie(String path_to_media, boolean persistent) - видимо вот тут подставляется параметр $filename, а уже в getNextKeyFrame идет без параметра...

Вот так не работает почему то... Недовольство, огорчение $filename определяется раньше. грубо говоря это video/1.avi

CODE (text):
скопировать код в буфер обмена
  1.  
  2. $frame = new ffmpeg_movie($filename);
  3.  
  4. $gif = new ffmpeg_animated_gif(1, 120, 90, 3, 0);
  5. while ($frame -> getNextKeyFrame())
  6. {
  7. $gif->addFrame($frame);
  8. }
  9. imagegif (1, $gif);
  10.  
  11. if (!isset($gif))
  12. echo "ашыпко!!";
  13. else
  14. echo "Ашипки нету )";
  15.  
  16.  
  17.  


в смысле не пишет ни есть ли ошибка ни нету ли...

Включил отображение всех ошибок пхп

Warning: Can't open movie file video\origin\The-Rasmus-In-The-Shadows.avi in {path}\tmp\upload1.php on line 25

Fatal error: Call to a member function getNextKeyFrame() on a non-object in {path}\tmp\upload1.php on line 28
Snegfighter Отправлено: 13 Октября, 2008 - 01:30:02 • Тема: animated gif from movie • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 165
о кстати... раз массив, то нада идентификатор ставить... 0_о
хотя по идее без идентификатора он по умолчанию будет $gif[0], $gif[1]....

не знаю, как проверить есть ли массив? я просто с этой функцией не разобрался.. с гд2 и пхпффмпег.
по идее я вставил проверку на
грубо говоря так
CODE (text):
скопировать код в буфер обмена
  1.  
  2. if (!isset($gif))
  3. echo "ашыпко!!";
  4. else
  5. echo "Ашипки нету )";
  6.  
Snegfighter Отправлено: 12 Октября, 2008 - 10:39:36 • Тема: animated gif from movie • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 165
суть - пользователь загружает ролик на сайт. ролик декодируется в флв с опр разрешением (с этим разобрался, проблем нет)
А вот еще хочу сделать так, чтобы из этого ролика делался анимационный джиф (*.gif) из кифрэймов (keyframe).

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


Цитата:

$gif = new ffmpeg_animated_gif(1, 120, 90, 3, 0);
while ($frame = getNextKeyFrame($filename))
{
$gif->addFrame($frame);
}


Библиотека включена и гд2 и ффмпег. Огорчение
Snegfighter Отправлено: 28 Августа, 2008 - 11:53:45 • Тема: анимация в php • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 131
супер, спасибо. посмотрел, но не хочет с кодеком дружить. пришла мысль - а можно к пхп подключить сторонне приложение? ну то есть программа простая, она работает мы ей данные передаем, она делает и возвращает результат. или анриал? еси так, буду разбираться дальше с ffmpeg'ом..
Snegfighter Отправлено: 24 Августа, 2008 - 17:53:44 • Тема: анимация в php • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 131
Можно вопросец - а если сервер на мелкомягкой машине, то никак нельзя сделать дллку для пхп? сори за ламерский вопрос.
апач 2ххх пхп 5ххх мускуль 5ххх
ГД2 подключен и нормально работает. для этого проекта как раз нужно гд2 и их дллка. то есть ffmpeg.dll, который в орасширения пхп добавляют. но я не пишу на си, и редхэта у мну нет. да и переводить всю систему на опенсурс только ради одного тестового сайта.... но есть у меня подозрение что можно сделать дллку и для виндуса, а не только *.so для уникса.
Snegfighter Отправлено: 23 Августа, 2008 - 15:38:42 • Тема: проверка в скрипте не работает • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 120
спаисбо спасибо!!
да я знаю, просто сначала сам скелет делаю, потом всеми проверками облагораживаю. и вот на первых же проверках спотыкнулся и сломал ногу образно выражаясь )) спасибо.
там еще </textarea> добавить нада было. а то ИЕ и лиса не поняли что текст арея закончилась.,и дальше сабмит.
Snegfighter Отправлено: 22 Августа, 2008 - 22:00:28 • Тема: проверка в скрипте не работает • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 120
не проходит проверка, вопрос почему? все время выдает значение TRUE для проверки на то заполнены ли поля.

CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. include 'sql_connect.php';
  4. if ($addguest)
  5. {
  6. $test_spam = mysql_query("SELECT description FROM clip_comment WHERE id = (SELECT MAX(id) FROM clip_comment)");
  7. $spam = mysql_fetch_row($test_spam);
  8. $antispam = $spam['0'];
  9. if($antispam==$description)
  10. echo "вы уже добавили эту запись, вернитесь к клипу и напишите что-нибудь новенькое. ";
  11. else {
  12.                    if ((empty($description))||(empty($name))||(empty($email)))
  13.                 echo "<font color=#FF0000>заполните все поля!</font>";
  14.         else
  15.                 {              
  16. echo "Спасибо, ваше замечание для клипа ".$info2." добавлено";
  17.  
  18. $ip = getenv('REMOTE_ADDR');
  19.  
  20. $add_query=mysql_query("INSERT INTO clip_comment (`entry`, `name`, `email`, `avatar`,  `description`, `ip`) VALUES ('$clip', '$username', '$email', '0', '$description', '$ip')");
  21.                 }
  22.  
  23.  
  24.         }
  25. }
  26. echo "<table border='1' width='400px'>
  27. <TR><TD colspan='2' align='center'>Добавить комментарий</TD></TR>
  28. <form method=post action=''main.php?autor='.$autor.'&clip='.$clip' name=guestbook>
  29. <TR>
  30. <TD width=30%>Имя: </TD><TD><input value='' name=username size=25></TD></TR>
  31. <TD>E-mail: </TD><TD><input value='' name=email size=30></TD></TR>
  32. <TR><TD colspan='2'>Ваше сообщение</TD></TR>
  33. <TR><TD colspan='2'><textarea cols=40 rows=4 size=300 name=description id=description></TD></TR>
  34. <TR><TD colspan='2'><input type=submit value='добавить..' name=addguest></TD></TR>
  35. </TABLE>
  36. ";
  37.  
  38. echo "<table border='1' width='400px'>";
  39. $query_guest_in=mysql_query("SELECT * FROM clip_comment WHERE entry='$clip'");
  40. while ($guest=mysql_fetch_array($query_guest_in))
  41. {
  42. echo "<TR><TD>".$guest['name']."</TD><TD>".$guest['date']."</TD></TR><TR><TD colspan='2'>".$guest['description']."</TD></TR>";
  43. }
  44. echo "</table>";
  45. mysql_close($link);
  46. ?>
  47.  

пробовал и с !isset вместо empty. что я делаю неправильно, объясните плиз
результат всегда "заполните все поля!" и с пустыми строками и с заполненными
Snegfighter Отправлено: 22 Августа, 2008 - 01:26:01 • Тема: скрипт на подсчет максимального значения от деления данных одного столбца на другой • Форум: Напишите за меня, пожалуйста

Ответов: 0
Просмотров: 48
понятно что соединение установлено, все в порядке. дальше непосредственно сам запрос и скрипт:
CODE (text):
скопировать код в буфер обмена
  1. $bestclipquerry="SELECT `entry`, `rating`, `col` FROM `clip`";
  2.    $bestclip=mysql_query($bestclipquerry);
  3. while ($bestrating = mysql_fetch_array($bestclip))
  4. {
  5. $rating = $bestrating["rating"];
  6. $col = $bestrating["col"];
  7. $bestclip_n= $rating[$l] / $col[$l];
  8. echo $bestclip;
  9.  
  10.   if ($bestclip_n>$clip_n) {
  11.     $clip_n=$bestclip_n;
  12.      $clip = $bestrating["entry"];
  13.    }
  14. }
  15. echo $clip
  16.  

не дает значение. просто пусто.
(Добавление)
все, сори разобрался:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. $clip_n="0";
  3. if ($clip=='')
  4. {
  5. $bestclip_query="SELECT `entry`, `rating`, `col` FROM `clip`";
  6.    $bestclip=mysql_query($bestclip_query);
  7. while ($bestrating = mysql_fetch_array($bestclip))
  8.   {
  9. $rating = $bestrating['rating'];
  10. $col = $bestrating['col'];
  11. echo $rating;
  12. echo $col;
  13. $bestclip_n = $rating / $col;
  14. echo $bestclip_n;
  15.         if ($bestclip_n > $clip_n)
  16.         {
  17.             $clip_n=$bestclip_n;
  18.              $clip = $bestrating['entry'];
  19.          }
  20.    }
  21. }
  22. echo $clip;
  23.  
  24.  



как всегда ошибка в мелочах... Шпаги

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB