HNKTO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору MisterGrim: "Всё это не ново, и повторялось ещё при выходе сабжа, которому посвящена тема" Вроде да. А по сути нет. Нет т. к. WinXP, Vista, 7, 8 - это по сути приставка к Windows Server и нового там очень много, но рядовому пользователю 99.9% этого нового не надо и реально оно использзуется только во всяких мэйнфреймах/вычислительных кластерах во всяких там институтах и т. п. заверениях. Но M$ посрать на то что 99.9% пользователям это всё даже теоритически не нужно. А итог один - куча барахла, которое тянет систему кучей ненужных связей. ======================================================================== про компиляторы: ничего не могу сказать про gcc т. к. ими никогда не пользовался, но msvc: нормальные проекты, написанные нормальным языком, не выходящим за рамки стандартов С++ собираются на всём что новее MsVC6.0 (на более старом не пробовал) за исключением MsVC6.0: в ней есть глюк: в конструкции а-ля for(int i=0; i<26: i++) { тыртыртыр; } собственно во выходе из цикла "i" не уничтожается, что неправильно. А вот нормально везде работают только собраные на всём до MSvs2003 включительно ======================================================================== про проигрыватели: По сути все проигрыватели можно разделить на 2 категории: 1)оболочки Dshow - почти всё под Windows, некоторые под *Nix. 2)"медиадекодеры" - читай FFmpeg. Почти всё что для *Nix 3)гибриды - соединение 1) и 2) в одной программе. Такие что-то (всякие хитрые фичи) делают сами, остальное отдают Dshow. 1) Оболочки т. к. сами они ничего не воспроизводят и не показывают. Всё что реализовано в программе - это работа её окошек (т. е. пользовательского интерфейса) и управление процессом воспроизведения (т. е. взамиосвязи с библиотекой QUARTZ.DLL), правда вот с этими взамиосвязями наворотить можно только так и воспроизводится всё будет соответственно. Кстати сама QUARTZ.DLL тоже не декодирует - декодируют кодеки - отдельные библиотеки "фильтры" (как правило .ax файлы выпускаемые кем угодно), присоединяемые к системе посредством COM интерфейса, внутрях библиотеки только более низкоуровневый функционал организации работы всего + фильтры чтения данных с диска(файла) и сокетов(сети) и рендеринг(правда не весь т. е. QUARTZ.DLL - это не весь DirectShow). Согласен что картинка страшная и рядовую домохозяйку приводит в суеверный ужас Наиболее узнаваемые: WindowsMedia, MediaPlayerClassic(MPC), MovieMaker 2)ну собственно вариант "всё в одном" т.е. сама читает, сама декодирует (что умеет), сама отображает. Самый популярный и узнаваемый вариант: FFmpeg. Такой вариант проигрывателей хорошо прижился на Линуксах т. к. изначально Dshow там не было, а его порт похоже не прижился. 3) примеры: KMPlayer, VLCplayer. В обеих случаях сами они занимаются чтением файлов/сокетов + KMPlayer имеет набор фильтров видео/звука и декодирования некоторых форматов (флэша/трекерной музыки), хотя тут я до конца не выяснил какие части программы за это отвечают и чем они являются (плагины/фильтры). теперь о путаницах: многие проигрыватели тянут с собой наборы фильтров и оперативно регистрируют их на время своей работы или ставят их в систему при установке программы (что хуже). Примеры: да тот-же KMPlayer, MPC(be|hd|hc) и т. п. и т. п. Вот и видимость: WindowsMediaPlayer не воспроизводит, а KMPlayer воспроизводит, тем более подогреваемая не совсем точно трактуемыми заявлениями дельцов таких проигрывателей. О плюсах и минусах: *В случае DirectShow можно легко скалировать возможности проигрывателя добавлением новых фильтров (тут не только поддержка новых форматов видео/звука но и различные эффекты и ещё много чего). Во втором случае функционал проигрывателя ограничен тем что умеет проигрыватель + возможно плагины к нему. *Производительность. 1) быстрее 2), хотя спорный вариант: Win9x = 1) намного быстрее 2); Win2000, WinXP = 1) быстрее 2); WinVista+ = 1) то-же что и 2) (за разницей корявости исполнения 2)) Связано с деградацией DirectShow в Windows, особенно выселением её из ядра ОС ради обеспечения защиы от взломщиков. В WinVista+ она полностью выселена из ядраОС и стала обычной библиотекой с теми-же правами что и все остальные программы пользователя. *Codec hell. Да. Это проблема. В первом случае он есть, во втором его нету. (Кому не ясно - из разряда dll hell: путаница кодеков) Рекомендации проигрывателей: (кого не устраивает WindowsMedia) MplayerClassic v6 - простенький и шустрый. Умеет всё. BSplayer v1 (можно v2, но там беда со слётом кряков и глюки при работе с некоторыми фильтрами) - широкий набор шкур + высокая скорость работы, минус-не содержит встроенного управления переключателем дорожек звука. KMplayer v2 - хотя очень тяжёл и медленно грузится в нём своими силами реализовано чтение с диска/сети с буфферизацией, что может решить лаги воспроизведения, да и тем кто не хочет возится с кодеками. MPCbe - красивый(на любителя) и более-менее шустрый. Тянет свой набор местами кривых кодеков |