Torrero Video Player
пост написан и отправлен в печать 2010-05-30 примерно в 12:59
Как-то раз наткнулся я на обсасываемый топик на хабре о софте под названием Torrent Stream. За пафосными фразочками "лучшие и зарекомендовавшие себя программные разработки авторитетных учреждений и команд разработчиков со всего мира и которому по функциональным и эксплуатационным возможностям, на сегодняшний день, нет равных в мире" скрывался легкоуловимый смысл: данное ПО давало возможность смотреть видео с торрентов не дожидаясь их полной загрузки. Как раз это мне и было нужно, вот только оказалось, что техническая реализация немного прихрамывает: все было реализовано в виде плагина к браузеру, все ужасно тормозило и файл с того же лостфильма и огромным количеством пиров слвался очень неспешно, переодически подвисая на "буферизацию". Вот поэтому я и написал свой плеер видео-файлов с торрента с цыганами и пасьянсом. Прошу любить и жаловать: Torrero Movie Stream Player. Ну или просто Torrero.

Кому лень читать дальше - большая ссылка скачать (с автообновлением и плюшками)

А для остальных, продолжим. Как всегда, сперва техническая часть. Написано приложение на С# и WinForms в Visual C# 2010 Express под .NET 3,5. Почему не WPF? Все очень просто, WPF контролсы не имеют своего собственного window handle, что было необходимо для встраивания mplayer-а в окно формы. Перепробывал сотни варинантов, но максимум что удалось получать, это handle окна, а нужен был hwnd панели или текстлейбла. Ну, вообщем, такая канитель. В качестве Torrent библиотеки был выбран велосипед MonoTorrent, который просто божественный. Поддержка на форуме и уровень возможностей позволяет писать все: начиная обычным парсером торрент файлов и заканчивая собственным трекером. Едиственная проблема, это практически полное отсутствие документации. Приходится копаться в исходниках, благо они отлично комментированны. Плеером был выбран MPlayer по следующим причинам: возможность встраивания без activex и прочих финтов ушами, как у VLC например, небольшой размер и встроенные декодеры, возможность проигрывания недокачанных файлов.

Парочка ответов на парочку вопросов. Все это будет бесплатно? Разумеется и даже opensource. Вот только второе будет чуть позднее, в настоящее время код ужасен, некоментирован и захламлен мусором. После парочки рефакторингов открою для анонимного доступа svn проекта. Почему Torrero, что это значит? Значит это производное от слова torero, матадор. Почему? Ну не знаю, хотелось присутствия в названии чего-то похожего на Torrent. Изначальная версия "torrantino", полученная объединением Torrent + Tarantion оказалась уже забита. Будет ли дальше развиваться проект, а что что-то все виснет и лагает? Да, разумеется, планов море. Это и переделать интерфейс, и сделать поддержку проигрывания нескольких файлов в торренте, и еще куча всего, вот только времени у меня в обрез, но в скорости появится отдельная страница, где можно будет смотреть change-лог, планы развития и узнавать об обновлениях.

Если вы нашли ошибку или хотите получить исходники немедленно, пишите мне в твиттер @middlesizetit либо же на почту mail@smirnoff.sumy.ua. Обязательно отвечу всем желающим.