Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

скрипт: информация о видеофаиле

11K
15 марта 2009 года
mitrof4nov
68 / / 10.09.2007
Доброго времени суток. Не ругайте строго, подскажите пожалуйста скрипт(любой ЯП, но желательно перл или пхп), выводящий информацию о видеофаиле пользователя по его запросу. Главное условие - сам файл не должен грузиться на сервер (если это возможно, конечно).

Поисковики результата не дали.
13
15 марта 2009 года
RussianSpy
3.0K / / 04.07.2006
в смысле "не должен грузиться"?
Если вы имеете ввиду через браузер то это невозможно (ну если не брать в расчет ActiveX)
287
15 марта 2009 года
Shiizoo
958 / / 14.03.2004
[напортачил]
В общем, не знаю, какие сервера это могут и могут ли вообще (может HTTP или еще чем запрещено, не знаю), но нужно в скрипте читать передаваемый через POST видеофайл и налету его распознавать. Попробовал дома на apache - скрипт вступает в действие только по получении сервером всех вложений целиком. Не знаю как в новых версиях. Если никакие серверы в принципе не позволяют работать с запросом по мере получения, то остается только писать самостоятельно приложение, которое будет обрабатывать именно этот специфический запрос.
В форматах видеофайлов вообще не разбираюсь, но полагаю, что основные метаданные хранятся где-то в начале (иначе б сколько времени грузилось видео в проигрыватели). Так что, наверное, можно выдать пользователю информацию о видеофайле по некоторому куску от начала файла (а может и не начала xD).
Не уверен, что такое прям вот на поверхности в интернете где-нибудь валяется (сомнительная полезность, по-моему). Если спектр форматов файлов заранее ограничен, то и задача соответственно облегчится. Может даже удастся ограничиться передачей фиксированного куска файла какой-нибудь внешней утилите, которая умеет форматы определять. Но это все из серии "возможно", "как бы" да "если". :O
Совсем без загрузки файла на сервер обойтись нельзя никак, кроме как с использованием специфических возможностей браузеров.
92
16 марта 2009 года
Тень Пса
2.2K / / 19.10.2006
"на лету" perl может ловить то, сколько залито, что залито и тд и тп. на счет php не в курсе, но вроде как не умеет.

поищи в гугле по "Upload Status Bar Perl" скачай какую-нить фришную версию скрипта и разбери, что и как там происходит.
287
16 марта 2009 года
Shiizoo
958 / / 14.03.2004
Попробовал megaupload скрипт, который работает через модуль CGI и сам "потыкал". Собственно, эффект один и тот же. Скрипт завершает выполнение тогда, когда ему укажешь. Вот только apache продолжает выбирать данные с клиента, так что по факту клиент все равно передает весь файл целиком. Если соединение принудительно закрыть (пробовал под win через tcpview), то браузер сигнализирует об ошибке. Таким образом, соединение можно закрыть только на стороне клиента, либо на стороне сервера, но имя доступ к управлению сетевой активностью сервера по данному запросу (может, в mod_perl так можно). В голову пришло только такое решение: делать загрузку файла через iframe, через другой iframe (или xmlhttpblablah) сообщать браузеру о ходе процесса. Как только скрипт справится с распознаванием, через второй iframe (или ...) сообщать браузеру, чтоб убил первый iframe, и выводить на страницу результат. imvho, криво и страшно. Но кто в состоянии написать не нуждающееся в веб-сервере приложение, которое еще будет адекватно предполагаемой нагрузке, subj подымать не будет. =)
92
16 марта 2009 года
Тень Пса
2.2K / / 19.10.2006
XUpload, фришная версия.
11K
16 марта 2009 года
mitrof4nov
68 / / 10.09.2007
требуется не залить файл на сервер (хотя если без этого не обойтись я думаю..) а узнать инф. о нем. Существует ли что-нибудь подобное?

есть для мп3 Переделать под авишку невозможно?
92
16 марта 2009 года
Тень Пса
2.2K / / 19.10.2006
ну а этот скрипт для мп3 типа не заливает сначала? =)

вообще, конечно же невозможно такое... как сказал RussianSpy - невозможно, если не брать в расчет ActiveX.

Но можно ведь залить кусок, узнать всю инфу и на этом куске прервать закачку... (конечно слегка корявенько, но в принципе, чем не вариант?) Решать конечно тебе, что и как.
287
16 марта 2009 года
Shiizoo
958 / / 14.03.2004
О чем и речь. Фигня в том, что браузер расшибется, но будет слать данные, пока соединение есть. Поэтому то окно, в котором отсылается файл, в итоге в ошибку выпадет. Посему iframe (+ xmlhttprequest).

А вообще mod_perl посмотрел. Он, если я правильно понял, гораздо плотнее с сервером взаимодействует. Вот обработчик для протокола задать там и в нем все делать. Пробовать не стал, мне это в обозримом будущем не нужно. :O

XUpload тоже работает как cgi и использует CGI.pm (то что у меня качало до потери пульса, даже после завершения скрипта). Оно и понятно, функция -- мониторить процесс закачки.

Наверное, можно определить наиболее распространенный размер заголовка с метаданными для видеофайлов, которые предполагается обрабатывать.

На CPAN есть модуль File::Headerinfo::Video, работает, как написано с quicktime, mpegs, DivX, AVI, ASF. У меня мультик в 2 гб щелкнул по первым 200 байтам (некую частоту показал только по куску в 10 кб, это, видимо, звук).
304
17 марта 2009 года
Fenyx
707 / / 26.01.2005
Можно выйти из положения через аплоад через flash.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог