Загрузка
IT Management Company
г. Одесса

ул. Гранитная 1, офис 42

Наше Android приложение

Будьте в курсе наших
акций и новостей

Акции и предложения

Поступление новых ноутбуков и нетбуков для школы

Ноутбук Lenovo IdeaPad S110 Black (59366438) 10.1'WSVGA_gl, Atom N2600, 2048Mb, 320Gb, No ODD, GMA 3650, LAN, BT, WiFi, CR3in1, WEB-Cam2MP, Intel MeeGo, 1.1kg, Black Ноутбук ACER Aspire V5-131-10072G32nkk (NX.M89EU.005) 11.6'HD, Intel Celeron 1007U (1.5Ghz), 2048Mb, 320Gb, Intel HD, GLAN, WiFi, CR2in1, WEB-Cam1.3MP, Linux, 4 cell (2500mAh), 285 x 202 x 21 - 27 mm, 1.38kg, Black Ноутбук Lenovo IdeaPad B590 (59-381384) 15.6' (1366x768) матовый, Celeron DC 1005M1.9), 2048Mb, 320Gb, DVD±RW, Intel HD4000, GLAN, Bluetooth, WiFi, Card-reader, WEB-Cam, noOS, разъем для замка, 378 x 252 х 33.4 мм, 2.55kg, Black (adsbygoogle = window.adsbygoogle || []).push({});


Е

Наш блог

Windows Azure Media Services

Если вы следите за облачными новостями, наверное вы уже знаете, что Windows Azure Media Services использовались при трансляции Олимпийских Игр 2012 в Лондоне . Давайте разберёмся, что они из себя представляют и как их можно использовать Если немного упростить, то Windows Azure Media Services — это технологии платформы Microsoft Media Platform , а также наших партнёров перенесённые большей частью в облако. Другими словами, с одной стороны, это проверенные и знакомые решения, с другой стороны, возможность масштабировать эти решения и интегрировать их в собственные процессы кодирования, вещания и распространения медиа-контента. Windows Azure Media Services предоставляют следующие сервисы для построение собственных медиа-сервисов и приложений: загрузку контента, перекодирование, конвертацию форматов, защиту контента, вещание по запросу и живое вещание, а также аналитику и рекламу. Или, если представить всё вышесказанное в виде схемы, то архитектура Windows Azure Media Services будет выглядеть следующим образом: Что такое Windows Azure Media Services и как их можно использовать Что такое Windows Azure Media Services и как их можно использовать Если приглядеться к схеме, можно увидеть ещё одну замечательную особенность Windows Azure Media Services — они могут быть источником медиа контента практически для всех типов устройств, присутствующих сейчас на рынке: начиная, от обычных настольных компьютеров и заканчивая телевизионными приставками или смартфонами. И, конечно же, этот замечательный функционал доступен разработчика через REST API, что позволяет разрабатывать решения на базе Windows Azure Media Services с использованием любой привычной, удобной или, например, являющейся стандартом в организации технологии. Разработчикам на платформе .NET доступен Windows Azure Media Services SDK for .NET, который в удобной форме оборачивает предоставляемый REST API. Итак, теперь у вас есть общее представление о том, что из себя представляют Windows Azure Media Services. Давайте познакомимся с ними поближе. Разработка клиентов сервиса Мак и ПК Сейчас вы можете разработывать для Мака и ПК с использованием Microsoft Silverlight. Через некоторые время будет доступен SDK для разработки клиента на Flash. Доступные SDK для Silverlight: Smooth Streaming Client for Silverlight Microsoft Media Platform: Player Framework for Silverlight Windows 8 Для разработки WinRT прилодений под Windows 8, можно разрабатывать на HTML/JS, C# или C++, используя следующие SDK: Smooth Streaming Client SDK for WinRT Windows 8applications Microsoft Media Platform: Player Framework for WinRT Windows 8 Applications Windows Phone Microsoft предоставляет SDK для построения видео-приложений по Windows Phone. Smooth Streaming Client for Silverlight Microsoft Media Platform: Player Framework for Silverlight iOS устройства Для iOS устройств, включая iPhone, iPod, и iPad, Microsoft поставляет Smooth Streaming SDK for iOS Devices with PlayReady. Smooth Streaming SDK for iOS Devices with PlayReady Android устройства Партнёры Microsoft разрабатывают и поставляют SDK для этих устройств. Xbox Xbox поддерживает Xbox LIVE приложения с Smooth Streaming. Xbox LIVE Application Development Kit (ADK) содержит: Smooth Streaming client for Xbox LIVE ADK Microsoft Media Platform: Player Framework for Xbox LIVE ADK Встраиваемые и другие устройства Для встраиваемых устройств, таких как телевизоры, телевизионные приставки, медиа-плееры и т.д., то есть для устройств с собственным фреймвоком разработки и работы с медиа-контеном, можно лицензировать пакеты для портирования: Smooth Streaming Client Porting Kit Microsoft PlayReady Device Porting Kit Работа с сервисной частью Для начала работы с Windows Azure Media Services необходимо их сначала создать у себя на портале управления Windows Azure (он сейчас находится в стадии беты): Что такое Windows Azure Media Services и как их можно использовать Что такое Windows Azure Media Services и как их можно использовать После того, как состояние сервиса стане Active — он готов к работе. Что такое Windows Azure Media Services и как их можно использовать Что такое Windows Azure Media Services и как их можно использовать После этого, если вы разработчик на .NET, и у вас уже установлена Visual Studio 2010 SP1, дополнительно необходимо установить: Windows Azure SDK 1.6, используя Web Platform Installer Windows Azure Media Services SDK for .NET WCF Data Services 5.0 for OData v3 Теперь вы полностью готовы к разработке приложений, использующих Windows Azure Media Services. Давайте создадим простое приложение, работающее с Windows Azure Media Services. Создайте в Visual Studio проект консольного приложение для .NET Framework 4. Добавьте к проекту в Reference следующие библиотеки: Microsoft.WindowsAzure.MediaServices.Client.dll Program Files (x86)Microsoft SDKsWindows Azure Media ServicesServices SDKv1.0 Microsoft.WindowsAzure.StorageClient.dll Program FilesWindows Azure SDKv1.6bin Microsoft.Data.Edm.dll (Program Files (x86)Microsoft WCF Data Services5.0bin.NETFramework Microsoft.Data.OData.dll (Program Files (x86)Microsoft WCF Data Services5.0bin.NETFramework Microsoft.Data.Services.Client.dll (Program Files (x86)Microsoft WCF Data Services5.0bin.NETFramework Microsoft.Data.Services.dll (Program Files (x86)Microsoft WCF Data Services5.0bin.NETFramework System.Spatial.dll (Program Files (x86)Microsoft WCF Data Services5.0bin.NETFramework System.Configuration Добавте в app.config вашего приложения настройки аккаунта Media Services: <code><?xml version="1.0"?> <configuration> <startup> <supportedRuntime version=<span>"v4.0" sku=".NETFramework,Version=v4.0" /></span> </startup> <appSettings> <add key=<span>"accountName" value="Add-Media-Services-Account-Name" /></span> <add key=<span>"accountKey" value="Add-Media-Services-Account-Key" /></span> </appSettings> </configuration> Добавим в код переменные, указывающие на локальный файл с видео и уже существующую папку для результатов работы: <code>private static readonly string _singleInputFilePath = Path.GetFullPath(@"C:mediaFilesinterview.wmv"); private static readonly string _outputFilesFolder = Path.GetFullPath(@"C:outputfiles"); Замените блок using в файле на следующий: <code>using System.Linq; using System; using System.Configuration; using System.IO; using System.Threading; using System.Collections.Generic; using Microsoft.WindowsAzure.MediaServices.Client; Определите переменные, которые будут содержать данные вашего аккаунта: <code>private static readonly string _accountKey = ConfigurationManager.AppSettings["accountKey"]; private static readonly string _accountName = ConfigurationManager.AppSettings["accountName"]; Определите переменные, для ссылки на серверный контекст и на результат работы: <code>private static CloudMediaContext _context = null; static string _outputAssetID = null; В метод Main добавьте создание сервисного контекста: <code>_context = new CloudMediaContext(_accountName, _accountKey); Теперь необходимо создать и загрузить медиа данные на сервис: <code>static IAsset CreateAndUploadAsset(string inputMediaFilePath) { IAsset theAsset = _context.Assets.Create(inputMediaFilePath, AssetCreationOptions.StorageEncrypted); Console.WriteLine("Asset name: " + theAsset.Name); Console.WriteLine("Asset ID: " + theAsset.Id); Console.WriteLine("Time created: " + theAsset.Created.Date.ToString()); Console.WriteLine("Encrypted status: " + theAsset.Options.ToString()); return theAsset; } IAsset asset = CreateAndUploadAsset(_singleInputFilePath); Для задач перекодирования на сервере создадим несколько вспомогательных функций: <code>// Основаня функция static void CreateEncodingJob(IAsset asset, string outputFolder) { IJob job = _context.Jobs.Create("My Encoding Job"); // Получаем медиа-процессор IMediaProcessor processor = GetMediaProcessor("Windows Azure Media Encoder"); // Создаём задачу перекодирование ITask task = job.Tasks.AddNew("My encoding task", processor, "H.264 256k DSL CBR", TaskCreationOptions.None); // Указываем, что перкодировать task.InputMediaAssets.Add(asset); // Добавляем Asset для результатов работы task.OutputMediaAssets.AddNew("Output asset", true, AssetCreationOptions.None); // Запускаем процесс. job.Submit(); // Ждём результата и выводим сообщения в консоль CheckJobProgress(job.Id); // Получаем ссылку на Job job = GetJob(job.Id); // Получаем ссылку на результат IAsset outputAsset = job.OutputMediaAssets[0]; // Устанавливаем значение глобальной перменной _outputAssetID = outputAsset.Id; // Получаем SAS URL для доступа к результатам кодирования string sasUrl = GetAssetSasUrl(outputAsset, TimeSpan.FromMinutes(30)); // Записываем URL в локальный файл string outFilePath = Path.GetFullPath(outputFolder + @"" + "SasUrl.txt"); WriteToFile(outFilePath, sasUrl); } Вспомогательные функции. Ждём окончания работы и выводим статус в консоль: <code>private static void CheckJobProgress(string jobId) { // Флаг окончания работы bool jobCompleted = false; // Интервал опроса const int JobProgressInterval = 20000; while (!jobCompleted) { // Получаем свежую ссылку на Job IJob theJob = GetJob(jobId); // Проверяем состояние и выводим на консоль switch (theJob.State) { case JobState.Finished: jobCompleted = true; Console.WriteLine(""); Console.WriteLine("********************"); Console.WriteLine("Job state: " + theJob.State + "."); Console.WriteLine("Please wait while local tasks complete..."); Console.WriteLine(); break; case JobState.Queued: case JobState.Scheduled: case JobState.Processing: Console.WriteLine("Job state: " + theJob.State + "."); Console.WriteLine("Please wait..."); Console.WriteLine(); break; case JobState.Error: break; default: Console.WriteLine(theJob.State.ToString()); break; } // Ждём, прежде чем проверить состояение снова Thread.Sleep(JobProgressInterval); } } Запрашиваем медиа процессор: <code>private static IMediaProcessor GetMediaProcessor(string mediaProcessor) { // Возможные строки для получения ссылки на медиа процессор // MP4 to Smooth Streams Task // Windows Azure Media Encoder // PlayReady Protection Task // Smooth Streams to HLS Task // Storage Decryption // Запрашиваем, чтобы получить ссылку на медиа процессор var theProcessor = from p in _context.MediaProcessors where p.Name == mediaProcessor select p; // Кастуем в IMediaprocessor. IMediaProcessor processor = theProcessor.First(); if (processor == null) throw new ArgumentException(string.Format(System.Globalization.CultureInfo.CurrentCulture, "Unknown processor", mediaProcessor)); return processor; } Получение ссылки на Job: <code>static IJob GetJob(string jobId) { // Запрашиваем Job по Id var job = from j in _context.Jobs where j.Id == jobId select j; //Получаем её из результатов запроса IJob theJob = job.FirstOrDefault(); // Проверяем, что Job есть :) if (theJob != null) return theJob; else Console.WriteLine("Job does not exist."); return null; } Получение SAS URL для результатов кодирования: <code>static String GetAssetSasUrl(IAsset asset, TimeSpan accessPolicyTimeout) { // Создаём полиси IAccessPolicy readPolicy = _context.AccessPolicies.Create("My Test Policy", accessPolicyTimeout, AccessPermissions.Read); // Создаём locator, который обеспечивает доступ к asset с наложенной полиси ILocator locator = _context.Locators.CreateSasLocator(asset, readPolicy, DateTime.UtcNow.AddMinutes(-5)); Console.WriteLine("Locator path: "); Console.WriteLine(locator.Path); Console.WriteLine(); // Получаем ссылку на mp4 файл - нам не нужны метаданные - xml var theOutputFile = from f in asset.Files where f.Name.EndsWith(".mp4") select f; // Кастуем IQueryable в IFileInfo. IFileInfo theFile = theOutputFile.FirstOrDefault(); string fileName = theFile.Name; // Строим окончательный SAS URL var uriBuilder = new UriBuilder(locator.Path); uriBuilder.Path += "/" + fileName; Console.WriteLine("Full URL to file: "); Console.WriteLine(uriBuilder.Uri.AbsoluteUri); Console.WriteLine(); return uriBuilder.Uri.AbsoluteUri; } Вспомогательный метод записи в файл: <code>static void WriteToFile(string outFilePath, string fileContent) { StreamWriter sr = File.CreateText(outFilePath); sr.Write(fileContent); sr.Close(); Осталось добавить в Main: <code>CreateEncodingJob(asset, _outputFilesFolder); И можно запускать нашу программу. Пример результатов работы программы <code>Asset name: interview Asset ID: nb:cid:UUID:xyzxyza-318a-4a47-b996-27353b23abc3 Time created: 5/24/2012 12:00:00 AM Encrypted status: StorageEncrypted Job state: Queued. Please wait... Job state: Processing. Please wait... Job state: Processing. Please wait... ******************** Job state: Finished. Please wait while local tasks complete... Locator path: https://MediaServicesServer.blob.core.windows.net/asset-zzzz374-1234-4c60-9da8-3daf 7a6dabcd?st=2012-05-24T21%3A59%3A55Z&se=2012-05-24T22%3A29%3A55Z&sr=c&si=b1a0cf8 f-45bf-4f77-a84a-a38c3f8a002d&sig=tWmPLPpNuQpEXvCd2Ik8rCfY5AqjII3gnWgi9ustBI4%3D Full URL to file: https:// MediaServicesServer.blob.core.windows.net/asset- zzzz374-1234-4c60-9da8-3daf 7a6dabcd/interview.mp4?st=2012-05-24T21%3A59%3A55Z&se=2012-05-24T22%3A29%3A55Z&s r=c&si=b1a0cf8f-45bf-4f77-a84a-a38c3f8a002d&sig=tWmPLPpNuQpEXvCd2Ik8rCfY5AqjII3g nWgi9ustBI4%3D Итак, мы познакомились с сервисами Windows Azure Media Services и даже попробовали написать простую программу, пользующуюся простейшими возможностями, предоставляемыми сервисами. Подробнее о сервисах можно прочитать по следующей ссылке: www.windowsazure.com/en-us/develop/net/how-to-guides/media-services/


Yuriy O.

Акции и предложения

Отличный системный блок для школы

2-х ядерный процессор с частотой 2.7 ггц отлично справится со всеми задами а при помощи дискретного видика можно по отдохнуть от учёбы и по играть в игры. На 20" мониторе отлично можно работать в ворде экселе а также смотреть фильмы. по поводу заказа писать на имаил:mail.korzina.in с пометкой школьный компьютер


Е