ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

объясните...нубу...
  #1151  
Старый 17.08.2009, 21:52
Аватар для anubis666
anubis666
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме:
62180

Репутация: 0
По умолчанию объясните...нубу...

ПОМОГИТЕ ПОЖАЛУЙСТА!!-->как сделать чтобы
Код:
system ('start D:\tmp\ffmpeg.exe -i D:\tmp\$name -an -ss 00:00:10 -r 1 -vframes 1 -s 200?200 -y -f mjpeg $name.jpg');
выполнялся после
Код:
#!"D:\perl\bin\perl.exe"   

use CGI qw/:standard/; 

# Код для HTML-формы 
print "Content-Type: text/html\n\n"; 
print "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.pl\">";
print "<input type=\"file\" name=\"picture\">";
print "<input type=\"submit\" name=\"Submit\" value=\"Submit\">";
print "</form>";

#end of print form

insert_image() if (param()); 

sub insert_image { 
  # путь к директории для закачки директория 
  # должна иметь право на запись для 
  # пользователя, под которым работает веб-сервер 
  my $downpath = "d:/tmp/"; 

  my $in=param('picture'); 

  # выделяем имя файла из параметра 
  my ($name) = $in =~ m#([^\\/:]+)$#; 

  open(OUT,">$downpath$name"); 
  binmode(OUT); 
  # читаем входной поток и пишем в файл 
  while (<$in>) { 
    print OUT $_; 
  } 
  close(OUT); 
  
  # выводим надпись о закачке файла <$name> 
  print "Upload file: $name";
объясните в подробностях..
 
Ответить с цитированием

  #1152  
Старый 17.08.2009, 22:28
Аватар для demond
demond
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме:
292722

Репутация: 71
По умолчанию

Цитата:
Сообщение от anubis666  
ПОМОГИТЕ ПОЖАЛУЙСТА!!-->как сделать чтобы
Код:
system ('start D:\tmp\ffmpeg.exe -i D:\tmp\$name -an -ss 00:00:10 -r 1 -vframes 1 -s 200?200 -y -f mjpeg $name.jpg');
для начала чтобы вместо переменной $name подставилось ее значение, необходимо одинарный кавычки заменить на двойные.
А затем подробнее объясни что именно необходимо! Из столь общего описания ничего не понятно!
 
Ответить с цитированием

  #1153  
Старый 17.08.2009, 22:45
Аватар для anubis666
anubis666
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме:
62180

Репутация: 0
По умолчанию

извините что сразу не объяснил.
1.скрипт планируется использовать для загрузки и конвертирования видео..
2.пременныю $name я взял из скрипта (она выводит имя файла и расширение к примеру : video.flv)...т.к будет загружатся много видео создавать превью и конвертировать тоже..
3.я поменял ковычки и сразу после загрузки видео страница виснет.(не грузит)
 
Ответить с цитированием

  #1154  
Старый 17.08.2009, 23:07
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Цитата:
я поменял ковычки и сразу после загрузки видео страница виснет.(не грузит)
"Виснет" видимо потому, что при использовании system скрипт будет ожидать завершения процесса конвертирования.
 
Ответить с цитированием

  #1155  
Старый 17.08.2009, 23:13
Аватар для anubis666
anubis666
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме:
62180

Репутация: 0
По умолчанию

но конвертер консольный( ffmpeg.exe)а как я знаю консольные приложения сразу закрываются после выполнения сценария... почему же
Код:
#!"D:\xampp\perl\bin\perl.exe"

print "Content-Type: text/html\n\n";

print "OK";
system ('start D:\tmp\ffmpeg.exe -i D:\tmp\video.avi -ar 22050 -ab 32 -f flv -s 320x240 video2.flv')
выполняется нормально и создает превью?!
 
Ответить с цитированием

  #1156  
Старый 17.08.2009, 23:45
Аватар для roddik
roddik
Познающий
Регистрация: 14.01.2009
Сообщений: 93
Провел на форуме:
244235

Репутация: 39
По умолчанию

вроде бы как перл будет ждать ответа от system, чтобы это отключить, надо перенаправить вывод системной команды, попробуй посмотреть во что превращается "start D:\tmp\ffmpeg.exe -i D:\tmp\$name -an -ss 00:00:10 -r 1 -vframes 1 -s 200?200 -y -f mjpeg $name.jpg", потом запусти в консоли, будет ли долго исполнять, если нет, заюзай профайлер
 
Ответить с цитированием

  #1157  
Старый 17.08.2009, 23:56
Аватар для anubis666
anubis666
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме:
62180

Репутация: 0
По умолчанию

всё..большое спасибо за ответы, проблема решается токо когда указываеш полный путь к файлу..но теперь проблема...надо каждый раз прописывать путь к новому видео...как это автоматизировать в этом скрипте?
 
Ответить с цитированием

  #1158  
Старый 19.08.2009, 09:16
Аватар для demond
demond
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме:
292722

Репутация: 71
По умолчанию

Цитата:
Сообщение от anubis666  
всё..большое спасибо за ответы, проблема решается токо когда указываеш полный путь к файлу..но теперь проблема...надо каждый раз прописывать путь к новому видео...как это автоматизировать в этом скрипте?
прибавляй к имени файла, там где это нужно, путь. и будет тебе счастье! :-)
 
Ответить с цитированием

  #1159  
Старый 30.08.2009, 00:15
Аватар для anubis666
anubis666
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме:
62180

Репутация: 0
По умолчанию

и сново я...объясните мне что делаю не так!есть perl скрипт
Код:
#!"D:\perl\bin\perl.exe" 

use DBI;
use CGI qw/:standard/;
use CGI qw(param);
use CGI::Carp qw(fatalsToBrowser);
my $dbh = DBI->connect("DBI:mysql:database=video;host=localhost",
"****", "****") || die $DBI::errstr;
print "Content-Type: text/html\n\n";
my $view=param('id');
my $video=param('v');
my $title=param('t');
$result = $dbh->do("SELECT file_id FROM video WHERE file_id='$view'");
$result2 = $dbh->do("SELECT video_id FROM video WHERE video_id='$video'");
$result3 = $dbh->do("SELECT title_id FROM video WHERE title_id='$title'");
print "<center>$result2</center>";
print "<center><script type='text/javascript' src='http://videoserver.3-a.net/files/public/flvpleer/swfobject.js'></script>
 
<div id='mediaspace'>This text will be replaced</div>
 
<script type='text/javascript'>
  var so = new SWFObject('http://videoserver.3-a.net/files/public/flvpleer/player.swf','mpl','640','480','9')
  so.addParam('allowfullscreen','true')
  so.addParam('allowscriptaccess','always')
  so.addParam('wmode','opaque')
  so.addVariable('file','http://videoserver.3-a.net/files/mediagallery/media/$result')
  so.addVariable('image','http://videoserver.3-a.net/files/mediagallery/images/$result.jpg')
  so.write('mediaspace')
</script>
</center>";
print "краткое описание $result3";
$dbh->disconnect();
почему значение переменных ($result,$result2,$result3) равно 1,хотя должно выводится значение полей (file_id,video_id,title_id)? я так понимаю это из-за использования метода do..если я прав то как это исправить?(хотя даже если не прав ,как исправить?)
 
Ответить с цитированием

  #1160  
Старый 30.08.2009, 00:21
Аватар для PvgValo
PvgValo
Участник форума
Регистрация: 01.08.2009
Сообщений: 169
Провел на форуме:
1353033

Репутация: 113
По умолчанию

Очень боюсь ошибиться, так как совсем недавно начал писать на Perl! Но для получения данных использую не do, а следующим образом:
$result = $dbh->prepare("SELECT file_id FROM video WHERE file_id='$view'");
$result->execute();
$result = $result->fetchrow_hashref();

Последний раз редактировалось PvgValo; 30.08.2009 в 00:26..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[php] Новичкам: задаем вопросы _Great_ PHP, PERL, MySQL, JavaScript 16396 17.06.2010 21:19
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Delphi, .NET, Asm 5420 17.06.2010 13:33
Вопросы по Ipb 2.0 Voodoo_People Форумы 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ