1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/cls1991-NetEaseCoursesClient

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 11:49 88094cb

NetEaseCoursesClient

Клиент для просмотра видео с открытых курсов от NetEase

Конфигурация среды

1. Сервер построен на Python, список зависимостей приведён в файле requirements.txt.
2. Для создания интерфейса клиента требуется поддержка библиотеки QT.
3. Данные, которыми обмениваются клиент и сервер, имеют формат JSON. На сервере есть встроенная библиотека JSON, а клиенту нужна поддержка сторонних библиотек. Здесь выбрана библиотека jsoncpp, конкретные API можно найти самостоятельно в интернете.
4. Клиенту необходимо имитировать HTTP-клиент для отправки HTTP-запросов и обмена данными с сервером. Здесь используется curl для имитации HTTP-клиента, поэтому необходимо установить curl и связанные с ним программы curl-devel.
5. В качестве проигрывателя в фоновом режиме клиента используется открытый проигрыватель mplayer, поэтому необходимо установить программу mplayer.

Описание структуры каталогов

- *NetEaseCoursesClient/

-- *crawler/
--- *lib/
---- showLinks.py: обрабатывает HTTP-запросы.
---- crawler.py: отвечает за поиск реальных ссылок для скачивания видео.
--- *out/: файл для хранения ссылок на скачивание видео, используется для тестирования.
--- *server.py: файл запуска сервера.
--- *main.py: тестовый файл.
-- *mplayer/: файлы макета интерфейса клиента и код логики управления проигрывателем.
-- *pictures/: скриншоты программы.

Инструкция по использованию: программа разделена на две части — сервер и клиент.

1. Сервер: основан на HTTPServer Tornado, запускает службу и слушает порт 9001 (конечно, можно настроить другой номер порта). Различные URL перенаправляются на соответствующий RequestHandler для обработки. Команда запуска сервера выглядит следующим образом:

server_run_pic Конечно, вы можете напрямую отправить HTTP-запрос через браузер, чтобы просмотреть данные, возвращаемые сервером, и результаты будут следующими: httpclient_result_pic

2. Клиент: основан на фреймворке QT, ищет видео с открытых курсов NetEase, имитирует обмен данными между HTTP-клиентом и сервером и получает реальные ссылки на видео. Что касается воспроизведения видео, на самом деле это просто оболочка mplayer на основе QT, которая использует QProcess для передачи команд управления фоновому проигрывателю mplayer для выполнения основных операций проигрывателя.
Шаг 1: поиск

search_pic search_result_1 search_result_2

Шаг 2: воспроизведение

play_pic

Шаг 3: регулировка громкости

volum_pic

Шаг 4: индикатор выполнения

play_progress_pic_1 play_progress_pic_2

Задачи

1. Улучшить условия поиска клиента. В настоящее время источником поиска являются URL-адреса соответствующих веб-страниц курсов на NetEase. Например, для ios8 пользователь обычно вводит запрос «ios8», и здесь условием поиска фактически является http://open.163.com/special/opencourse/ios8.html, поэтому программе также необходимо предоставить пользователю возможность выбора веб-страницы для поиска.
2. Отображение результатов поиска клиентом должно быть улучшено. Вместо реальных URL-адресов видео можно отображать миниатюры видео и информацию о видео.
3. Добавить анимацию буферизации видео для взаимодействия с пользователем.
4. Добавить кэш результатов поиска на сервер, чтобы клиент мог напрямую извлекать данные из кэша, вместо повторного захвата веб-страницы, анализа и обработки данных. Это может уменьшить ненужную нагрузку на сервер.
5. Сервер в настоящее время развёрнут на локальном компьютере, что ограничивает его возможности. В будущем можно рассмотреть возможность аренды сервера, развертывания серверной программы на удалённом сервере и использования её в качестве постоянного процесса.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/cls1991-NetEaseCoursesClient.git
git@api.gitlife.ru:oschina-mirror/cls1991-NetEaseCoursesClient.git
oschina-mirror
cls1991-NetEaseCoursesClient
cls1991-NetEaseCoursesClient
master