.NET: как создать миниатюру из flash

Есть ли способ создать миниатюру из файла флэш-ролика (flv / swf) [НЕ ИЗ ВИДЕО-файла] в ASP.NET? Есть образцы реализации?


person Shyju    schedule 30.07.2009    source источник


Ответы (7)


вы можете использовать ffmpeg для создания эскизов флэш-видео.

person Russ Bradberry    schedule 30.07.2009
comment
возможно ли запустить программу на виртуальном хостинге со средним доверием? - person ak3nat0n; 31.07.2009
comment
Я не уверен, но вы можете попробовать это программное обеспечение: bytescout.com/swftoimage_swf_to_jpg.html Сам не пробовал, но выглядит достаточно просто - person Russ Bradberry; 31.07.2009
comment
@Shyju Итак, разница между этим ответом (который был принят) и Крисом в том, что он получил свой ffmpeg от Ривы? rivavx.com/?encoder Если это так, возможно, Расс мог бы изменить свой ответ и указать, что это хороший пакет, содержащий кодеки ffmpeg и flv, которые вы можете легко использовать в ASP.NET или что-то в этом роде. ;) - person cregox; 10.04.2010

Для .flv вы можете использовать ffmpeg для преобразования частей видео (например, одного кадра) в изображение (последовательность).

Я использовал его как приложение командной строки, вызвав Process.Start(), но есть как минимум одна оболочка для .NET (сам я ее не тестировал): http://www.codeplex.com/ffmpegdotnet

Для .swf я не знаю, как это сделать без какого-либо инструмента Adobe.

person chris166    schedule 30.07.2009
comment
Я много искал. Кажется, что в dot net нет класса-оболочки. - person Shyju; 04.08.2009

для flv это можно сделать легко, как уже упоминалось...

для swf это ОЧЕНЬ зависит от swf ... если внешний вид swf определяется кодом, нет другого способа, кроме как встроить флеш-плеер в ваше приложение и либо позволить флеш-плееру делать снимки, кодировать их как JPEG /PNG и отправить их куда-нибудь с помощью TCP или LocalConnection (соединение flash‹->flash, которое можно использовать и с C#) или попытаться как-то самостоятельно захватить его выходной буфер... первая возможность должна быть не более чем 10-20 строчек кода actionscript... не знаю насчет последнего...

кроме этого, вы можете использовать внешний конвертер командной строки... в Интернете есть несколько...

приветствие

back2dos

person back2dos    schedule 30.07.2009

Взгляните на эту статью, она должна указать вам правильное направление. Он использует SharpFFmpeg для извлечения эскизов из видеоклипов различных форматов.

person Alan    schedule 30.07.2009

единственный способ получить изображение — использовать клиент с полной флэш-памятью, который начинает воспроизведение и позволяет захватить первый кадр.

Я бы внимательно посмотрел на flirt (на самом деле у них есть пример, который отображает png). могут помочь другие флеш-библиотеки ( swfdec скрежет быстрые инструменты gplflash)

Gnash, вероятно, лучший выбор, поскольку это самый зрелый проект, но я не знаю, насколько легко его интегрировать в инструменты командной строки или в ваши собственные проекты.

person Niko    schedule 06.08.2009

Мы работали над этим в моей компании, и мы довольно быстро получили доказательство работоспособности концепции (но проект, для которого мы это сделали, сейчас приостановлен). Я не могу поделиться кодом, но могу дать вам несколько советов.

Это не чистый ASP.NET, но, возможно, вы все еще можете его использовать. Мы сделали службу Windows, которую можно вызывать из ASP.NET.

В основном вы устанавливаете флэш-плагин на сервер, службы Windows могут затем просто открыть swf через компонент swf ActiveX, и тогда вы можете получить изображение всего этого. Это работает довольно хорошо, обратите внимание, что вам не нужно отображать компонент ActiveX на экране, чтобы захватить изображение.

person Jacob Poul Richardt    schedule 10.08.2009

Прочтите эту публикацию. Он не говорит вам всего, но я думаю, что он обеспечивает необходимую для этого основу. Вероятно, вам придется выяснить, как получить тег объекта из flash-html, который вы пытаетесь загрузить с веб-страницы. После этого вам нужно будет выяснить, когда захватывать кадры. Однако это долгая поездка. Вам не нужна часть asp.net. Просто сконцентрируйтесь на части проекта Windows. Надеюсь это поможет. :)

person deostroll    schedule 10.08.2009