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

OSCHINA-MIRROR/shuigsls-LQFStreamer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LQFStreamer

项目特点

  • Разработан на C++11, избегает использования голых указателей.
  • Поддерживает запись с рабочего стола, а также запись звука со звуковой карты и микрофона.
  • Поддерживает RTMP потоковую передачу.
  • Поддержка RSP потоковой передачи (в разработке).
  • Позволяет сохранять записи с рабочего стола на локальный диск.
  • В настоящее время поддерживается только платформа Windows, в будущем планируется поддержка Linux.

Компиляция платформы

Visual Studio 2015 + Win10. На данный момент скомпилированы только библиотеки win32 lib или dll, поэтому рекомендуется использовать режим отладки x86 для компиляции.

Интегрированные сторонние библиотеки

  • fdk-aac — библиотека кодирования AAC.
  • x264 — библиотека кодирования H264.
  • FFmpeg — используется для записи, преобразования цифрового аудио и видео и преобразования их в потоки. Включает в себя передовую библиотеку кодирования звука/видео libavcodec.
  • librtmp — открытая библиотека RTMP, поддерживает потоковую передачу и потоковое воспроизведение.
  • openssl — инструмент библиотеки SSL для шифрования паролей.
  • portaudio — кроссплатформенная библиотека для воспроизведения и записи звука.

Функционал

  • Запись с экрана.
  • Запись звука.
  • RTMP потоковая передача.
  • Сохранение файлов MP4.
  • Streamer поддерживает отправку видео через RTP.
  • MediaPlayer поддерживает приём видео через RTP и его воспроизведение.
  • MediaPlayer поддерживает приём аудио через RTP и его воспроизведение.

Последующие задачи

  • Улучшить обработку исключений при RTMP потоковой передаче.
  • Интегрировать поддержку RTSP потоковой передачи.
  • Интегрировать RTMP сервер для доступа клиентов в локальной сети.
  • Реализовать RTSP потоковый передатчик.
  • Реализовать RTSP проигрыватель.
  • Реализовать RTMP проигрыватель.

Требования к компиляции

  • Visual Studio 2015 или более поздняя версия.

Использование

  1. Описание каталога dll:
  • Файлы dll, необходимые для запуска программы, следует скопировать в каталог компиляции (каталог Debug).
  1. Отправка RTMP:
  • Запустить сбор данных с рабочего стола и звуковой карты.
  • Установить ссылку на RTMP потоковую передачу.
  • Запустить RTMP потоковую передачу.
  1. Запись MP4:
  • Запустить сбор данных с рабочего стола и звуковой карты.
  • Начать запись видео в формате MP4.
  1. Текущее приложение находится в main.cpp.

Тестирование

Приём видеопотока RTP

Использование MediaPlayer для приёма потока, использование ffmpeg для отправки:

  1. Использование ffmpeg для отправки:

ffmpeg -re -i out.h264 -vcodec libx264 -f rtp rtp://192.168.100.67:9000>test.sdp. 192.168.100.67 — это ваш IP-адрес.

  1. Используйте ffplay, чтобы убедиться, что потоковая передача работает нормально:

ffplay -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" test.sdp

  1. Используйте MediaPlayer для потокового воспроизведения:

Необходимо изменить порт listen_port в функции RTP_PlayerTest в RTP_Player.cpp на 9000, чтобы можно было принимать поток, отправленный ffmpeg. Можно принимать потоки, отправленные Stream, настроив функцию main_rtp_send_video() в main.cpp с указанием IP-адреса dest_ip и порта dest_port.

Приём аудиопотока RTP

  1. Функция RTP_AAC_Receiver_Test в файле RTP_AAC_Receiver.cpp в MediaPlayer используется для тестирования приёма аудиопотока. В настоящее время она поддерживает только кодек AAC, по умолчанию используется LC AAC, 44,1 кГц, 2 канала.
  2. Использование ffmpeg для отправки потока, настройка вывода на 44,1 кГц и 2 канала:
// 
// 推送AAC文件
ffmpeg -re -i out.aac -c:a  aac -flags +global_header -ar 44100 -ac 2  -f rtp rtp://192.168.100.61:9004>audio.sdp

// 将MP3转成AAC格式
ffmpeg -re -i buweishui.mp3 -c:a  aac -flags +global_header -ar 44100 -ac 2  -f rtp rtp://192.168.100.61:9004>audio.sdp

// 推送音视频文件中的audio
ffmpeg -re -i dp19.mp4 -vn -c:a  aac -flags +global_header -ar 44100 -ac 2  -f rtp rtp://192.168.100.61:9004>audio.sdp
  1. При тестировании сначала можно использовать ffplay для воспроизведения теста:
ffplay -protocol_whitelist "file,http,https,rtp,udp,tcp,tls" audio.sdp

Авторские права

Код этого проекта можно свободно использовать в личных и некоммерческих целях. Однако в проекте также используется часть открытого исходного кода, который необходимо заменить или удалить при использовании в коммерческих целях; любые юридические споры или нарушения прав, вызванные использованием этого проекта, не имеют отношения к этому проекту или разработчику, пожалуйста, самостоятельно несёте юридическую ответственность.

Контакты

  • Электронная почта: 592407834@qq.com
  • QQ группа: 782508536

Комментарии ( 0 )

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

Введение

Настольная запись, запись с использованием звуковой карты и микрофона, сохранение MP4-файлов, функции RTMP и RTSP для потоковой передачи. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/shuigsls-LQFStreamer.git
git@api.gitlife.ru:oschina-mirror/shuigsls-LQFStreamer.git
oschina-mirror
shuigsls-LQFStreamer
shuigsls-LQFStreamer
master