Skip to content

🎬 Асинхронный сСрвис записи ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ HLS-Π²ΠΈΠ΄Π΅ΠΎ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… live-ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ API для получСния Π°Ρ€Ρ…ΠΈΠ²Π°

Notifications You must be signed in to change notification settings

tkvitko/hls_recorder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HLS Encryptor and Local PVR

Установка

pip install -r requirements.txt

Encryptor

Запуск

cp config.ini.example config.ini; vi config.ini python encryptor.py

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

  • сСрвис ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ playlist clear_playlist_name Π² ΠΏΠ°ΠΏΠΊΠ΅ hls_dir Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ появлСния Π½ΠΎΠ²Ρ‹Ρ… HLS-Ρ‡Π°Π½ΠΊΠΎΠ²
  • ΠΏΡ€ΠΈ появлСнии Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ‡Π°Π½ΠΊΠ° ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ (Ρ‡Π΅Ρ€Π΅Π· openssl) ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ с DRM-бэкСнда
  • ΠΈ обновляСт Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ манифСст (с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ), добавляя Π½ΠΎΠ²ΡƒΡŽ запись ΠΎ появившСмся Ρ‡Π°Π½ΠΊΠ΅

PVR

Запуск

Запуск writer (ΠΈ cleaner)

cp pvr.ini.example pvr.ini; vi pvr.ini cp channels.json.example channels.json; vi channels.json python3 init_db.py python writer.py

Запуск API (develop server)

fastapi dev api.py

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

  • сСрвис скачиваСт hls live playlist ΠΏΠΎ source_url ΠΈ записываСт Ρ‡Π°Π½ΠΊΠΈ Π² Π°Ρ€Ρ…ΠΈΠ² Π² pvr_dir с Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ хранСния depth_in_hours
  • ΠΏΠΎ web API ΠΎΡ‚Π΄Π°Π΅Ρ‚ hls vod playlist Π½Π° Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ статистику ΠΏΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ записСй Π½Π° Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса playlist ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΏΠΎ API

http://127.0.0.1:8000/streamer/domophone-1-sensor_camera0.m3u8?startTime=5/7/2024T12:22:03&endTime=5/7/2024T12:24:00 http://127.0.0.1:8000/streamer/GetNPVRPlayList?channel_name=domophone-1-sensor_camera0&startTime=5/7/2024T12:22:03&endTime=5/7/2024T12:24:00 http://127.0.0.1:8000/streamer/domophone-1-sensor_camera0.m3u8?startTimestamp=1718708400&endTimestamp=1718726400 http://127.0.0.1:8000/streamer/GetNPVRPlayList?channel_name=domophone-1-sensor_camera0&startTimestamp=1718708400&endTimestamp=1718726400

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:5,
c_19888564002095173.ts
#EXTINF:5,
c_19888564002095174.ts
#EXTINF:5,
c_19888564002095175.ts
#EXTINF:5,
c_19888564002095176.ts
#EXTINF:5,
c_19888564002095177.ts
#EXTINF:5,
c_19888564002095178.ts
#EXTINF:5,
c_19888564002095179.ts
#EXTINF:5,
c_19888564002095180.ts
#EXTINF:5,
c_19888564002095181.ts
#EXTINF:5,
c_19888564002095182.ts
#EXTINF:5,
c_19888564002095183.ts
#EXTINF:5,
c_19888564002095184.ts
#EXTINF:5,
c_19888564002095185.ts
#EXT-X-ENDLIST

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса заполнСнности ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°

http://127.0.0.1:8000/metadata?startTime=18/06/2024T00:00:00&endTime=18/06/2024T19:00:33

[
{
"start_datetime": "2024-06-18T17:45:24.005249",
"end_datetime": "2024-06-18T17:55:06.011263"
},
{
"start_datetime": "2024-06-18T18:19:56.065960",
"end_datetime": "2024-06-18T18:26:27.939446"
}
]

About

🎬 Асинхронный сСрвис записи ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ HLS-Π²ΠΈΠ΄Π΅ΠΎ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… live-ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΈ API для получСния Π°Ρ€Ρ…ΠΈΠ²Π°

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages