« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Галерея » « Статьи » « Новости » « Каталог ссылок » « Файлы » « Realcoding IRC » « Поиск » « Site map » «


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга


    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 256
Пользователей: 0

    Популярное
chmod - изменение режима доступа к файлам

Проверка формы на JavaScript

Работа с файлами

Немного о PHP

ИИ с чего начать ?

Функция AccessResource

Десятка лучших CSS трюков Трентона Мосса

Создание базы данных в Access и работа с ней

Новые возможности служб Google доступны уже сегодня

Инструкция repeat


    Архив файлов

    Сообщества

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

Статьи:: .NET Framework :: Учебник по ASP.NET :: Советы :: Flash Video (FLV) на ASP.NET

отправить ссылку другу версия для печати  Обсудить на форуме

Flash Video (FLV) на ASP.NET



Сейчас на микрософтовских блогах вовсю пропогандируется Silverlight, кстати уже версии 2.0, не дав пожить версии 1.1 даже трёх недель, ну что ж, возможно через несколько лет эта технология и убъет Flash, как они обещали еще года 2 назад, но на данный момент, flash все-таки рулит.



Недавно мне была поставлена задача - создать некое подобие YouTube. Сейчас я над ней работаю, и на нее можно время от времени поглядывать, следя за изменениями: http://avto.drfaust.ru Скоро проект будет завершени и переедет на хостинг заказчика, ну а как внедрять потоковое видео (Flash Video) в ASP.NET приложения я все хочу показать.

Для начала, нужно на IIS выставить настройки, чтобы он обрабатывала запросы на файлы .FLV: в свойствах сайта нужно выбрать "Home Directory" и ткнуть в "Configuration".

Потом ткунть Add и прописать Extension:.flv, Executable:aspnet_isapi.dll, Verbs:Get,Head,Post,Debug

Теперь файлы .flv будут "цепляться" ASP.NET, но он не знает что с этим добром делать и нужно добавить в Web.config хэндлер ручками:

     <httpHandlers>       
        <add verb="*" path="*.flv" type="FLVStreaming" />
    </httpHandlers>

И в закинуть в папку App_Code файл FLVStreaming.cs

		using System;	using System.IO;	using System.Web;		
	

public class FLVStreaming : IHttpHandler
{

    // FLV header
    private static readonly byte[] _flvheader = HexToByte("464C5601010000000900000009");

    public FLVStreaming()
    {
    }

    public void ProcessRequest(HttpContext context)
    {
        try
        {
            int pos;
            int length;

            // Check start parameter if present
            string filename = Path.GetFileName(context.Request.FilePath);

            using (FileStream fs = new FileStream(context.Server.MapPath(filename), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                string qs = context.Request.Params["start"];

                if (string.IsNullOrEmpty(qs))
                {
                    pos = 0;
                    length = Convert.ToInt32(fs.Length);
                }
                else
                {
                    pos = Convert.ToInt32(qs);
                    length = Convert.ToInt32(fs.Length - pos) + _flvheader.Length;
                }

                // Add HTTP header stuff: cache, content type and length       
                context.Response.Cache.SetCacheability(HttpCacheability.Public);
                context.Response.Cache.SetLastModified(DateTime.Now);

                context.Response.AppendHeader("Content-Type", "video/x-flv");
                context.Response.AppendHeader("Content-Length", length.ToString());

                // Append FLV header when sending partial file
                if (pos > 0)
                {
                    context.Response.OutputStream.Write(_flvheader, 0, _flvheader.Length);
                    fs.Position = pos;
                }

                // Read buffer and write stream to the response stream
                const int buffersize = 16384;
                byte[] buffer = new byte[buffersize];
               
                int count = fs.Read(buffer, 0, buffersize);
                while (count > 0)
                {
                    if (context.Response.IsClientConnected)
                    {
                        context.Response.OutputStream.Write(buffer, 0, count);
                        count = fs.Read(buffer, 0, buffersize);
                    }
                    else
                    {
                        count = -1;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.ToString());
        }
    }

    public bool IsReusable
    {
        get { return true; }
    }

    private static byte[] HexToByte(string hexString)
    {
        byte[] returnBytes = new byte[hexString.Length / 2];
        for (int i = 0; i < returnBytes.Length; i++)
            returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
        return returnBytes;
    }

}


Всё что осталось сделать дальше, это добавить SWF плеер на ваши ASP.NET страницы, например, FLV-Scrubber

<object
  classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0
  width="336"
  height="297">   
  <param name="movie" value="scrubber.swf?file=http://&bufferTime=3&autoStart=false" />   
  <param name="quality" value="high" />   
  <embed src="scrubber.swf?file=http://&bufferTime=3&autoStart=false"
    quality="high"
    pluginspage="
http://www.macromedia.com/go/getflashplayer"
    type="application/x-shockwave-flash"
    width="336"
    height="297"></embed> 
</object>

В проекте Автомания-ТВ мы используем свой самописный плеер. Для кодирования из форматов AVI мы пользуемся ffmpeg и flvtool2 для добавления корректных метаданных в файл .flv. Посмотреть как это работает можно по ссылке http://avto.drfaust.ru/ ;-)

Вопрсы можно в комментарии или по е-мейл, постараюсь понятно ответить ;-)

Автор: http://www.drfaust.ru/

Рубрика: Советы

Eval или include?.

PHP

Один из текущих проектов разрабатываю на собственном фреймворке, параллельно его обкатывая и дописывая. Зачем мне понадобилось изобретать велосипед, и чем он отличается от существующих, напишу когда буду представлять его общественности. Сейчас же хочется поделиться некоторыми мыслями по поводу производительности и заодно выслушать мнения коллег. Возможно, мои наблюдения будут полезны и тем, кто не использует фреймфорки.


Подробнее... | Рубрика: PHP | Добавлено: 12.05.2008

Blueprint.

CSS

Blueprint - довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE. Со страницы проекта на Google Code скачиваем архив. В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:


Подробнее... | Рубрика: CSS | Добавлено: 12.05.2008

Новые идеи в дизайне форм от Smashingmagazine.com.

Вебмастеру

Яркие, свежие и интересные идеи по дизайну форм на сайт. Перевод части: Веб-форма часто является основным каналом связи между посетителями и владельцев сайтов. Обратная связь всегда важна, и именно поэтому необходимо убедиться в том, что веб-формы являются простыми для понимания и удобным в использовании. Тем не менее, даже в форме дизайна можно позволить себе немного творчества.


Подробнее... | Рубрика: Вебмастеру | Добавлено: 12.05.2008

Остальные статьи:

Создание программ для Mac OS X. Часть 3: Apple Script / Разработка под Mac OS
Сервисно-ориентированная архитектура (СОА) на платформе Microsoft. Дмитрий Марты... / Мероприятия
Управление Windows Vista с помощью Windows PowerShell / Мероприятия
Обзор SQL Server Compact Edition / Мероприятия
Разработка бизнес приложений с Windows Mobile Line of Business Solution Accelera... / Мероприятия
Этикет общения с работодателем. Как произвести благоприятное впечатление и стать... / Мероприятия
Microsoft SharePoint: установка Service Pack 1 и обновлений / Мероприятия
Архитектура LiveJournal / Разное
Рисуем векторной графикой в браузере (SVG/VML с помощью Google Web Toolkit + Doj... / Java Script
Шаблоны Django. Наследование. / Вебмастеру
Безопасность IE8: изменения в работе ActiveX / Вебмастеру
Дорога к Windows Seven: продолжение диалога о следующей версии Windows / Windows 7
Opera Dragonfly / Вебмастеру
Забудем про captcha / AJAX
jQuery File Tree - браузер файлов на jQuery / AJAX
jQuery: datepicker - календарь для выбора дат / AJAX


Цитата дня (все,добавить):

ПнВтСрЧтПтСбВс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Главные решения
    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование

Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия