Ваш комментарий — полная противоположность комментарию выше. :)
Можно было и меньше. Но как пример, я думаю, предложенный вариант хорош (ООП, и всё такое).
А я и не унижал :) У питона свои плюсы, и свои минусы.
Программа на Python не требует компиляции, зато на C++ она будет быстрее.
И, время на компиляцию — не такое уж оно и большое, если подумать.
При использовании DXVA не получится использовать DirectVobSub (фильтр DXVA должен быть единственным в цепочке). Однако это не значит, что субтитров не будет, к примеру MPC будет использовать встроенную реализацию. При использовании же CoreAVC с аппаратным ускорением проблем, по идее, вообще не должно быть.
Практически все они реализованы в одной библиотеке (libavcodec), на которой и построен ffdshow. А его всё равно нужно будет поставить. Так не всё ли равно?
Тот же K-Lite Codec Pack по сути и ставит MPC, ffdshow, Haali, и пару утилит. Чем же он так захламляет систему по сравнению с установкой этого же по-отдельности?
Декодирование видео очень хорошо распараллеливается (блокировок практически не должно быть), так что в данном случае применение многопоточности вполне оправдано.
Я пробовал поставить на нетбук GOM Player, но скорость воспроизведение у него ниже, чем у всех перечисленных мною вариантов (по-крайней мере он отчётливо ронял кадры, а перечисленные способы — нет).
Этот пример скорее отражает, как будет приблизительно выглядеть приложение, если его по-нормальному, серьёзно, писать.
Но можно разделять логику как угодно, конечно же.
P.S. Дизайн именно с джавовских сервлетов и был позаимствован :)
Можно было и меньше. Но как пример, я думаю, предложенный вариант хорош (ООП, и всё такое).
Программа на Python не требует компиляции, зато на C++ она будет быстрее.
И, время на компиляцию — не такое уж оно и большое, если подумать.
P.S. Вы мне напомнили этот комикс:
А вообще, вариант с mplayer и ffmpeg-mt вполне годится и для Linux-пользователей.