Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.08.2009, 21:52
|
|
Новичок
Регистрация: 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";
объясните в подробностях..
|
|
|

17.08.2009, 22:28
|
|
Участник форума
Регистрация: 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 подставилось ее значение, необходимо одинарный кавычки заменить на двойные.
А затем подробнее объясни что именно необходимо! Из столь общего описания ничего не понятно!
|
|
|

17.08.2009, 22:45
|
|
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме: 62180
Репутация:
0
|
|
извините что сразу не объяснил.
1.скрипт планируется использовать для загрузки и конвертирования видео..
2.пременныю $name я взял из скрипта (она выводит имя файла и расширение к примеру : video.flv)...т.к будет загружатся много видео создавать превью и конвертировать тоже..
3.я поменял ковычки и сразу после загрузки видео страница виснет.(не грузит)
|
|
|

17.08.2009, 23:07
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
я поменял ковычки и сразу после загрузки видео страница виснет.(не грузит)
"Виснет" видимо потому, что при использовании system скрипт будет ожидать завершения процесса конвертирования.
|
|
|

17.08.2009, 23:13
|
|
Новичок
Регистрация: 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')
выполняется нормально и создает превью?!
|
|
|

17.08.2009, 23:45
|
|
Познающий
Регистрация: 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", потом запусти в консоли, будет ли долго исполнять, если нет, заюзай профайлер
|
|
|

17.08.2009, 23:56
|
|
Новичок
Регистрация: 17.08.2009
Сообщений: 21
Провел на форуме: 62180
Репутация:
0
|
|
всё..большое спасибо за ответы, проблема решается токо когда указываеш полный путь к файлу..но теперь проблема...надо каждый раз прописывать путь к новому видео...как это автоматизировать в этом скрипте?
|
|
|

19.08.2009, 09:16
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
Сообщение от anubis666
всё..большое спасибо за ответы, проблема решается токо когда указываеш полный путь к файлу..но теперь проблема...надо каждый раз прописывать путь к новому видео...как это автоматизировать в этом скрипте?
прибавляй к имени файла, там где это нужно, путь. и будет тебе счастье! :-)
|
|
|

30.08.2009, 00:15
|
|
Новичок
Регистрация: 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..если я прав то как это исправить?(хотя даже если не прав ,как исправить?)
|
|
|

30.08.2009, 00:21
|
|
Участник форума
Регистрация: 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..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|