Skip to content

Telegram бот для получения аудио-дорожек из ютуб-видео

Notifications You must be signed in to change notification settings

Jadedboat780/PodcastBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Podcast bot

  • audio-lib - папка с кодом библиотеки
  • podcast_bot - папка с кодом бота
  • test - папка с тестами
  • pyproject.toml - файл для управления зависимостями

Как это работает?

Бот получает ссылку на ютуб-видео, после чего происходит скачивание аудиодорожки в формате .opus, этот файл передаётся функции, которая делит аудио на несколько частей по 45 минут.

Про библиотеку для работы с аудио

Для скачивания аудиодорожек видео и деления этих дорожек на несколько частей я использую библиотеку audio_lib. Эта библиотека написана мной на языке Rust и находится в папке audio-lib (взаимодействие с python происходит с помощью библиотек pyo3 и maturin). Библиотека предоставляет три функции и состоит из двух модулей.

Модули:

  • sync_mod - предоставляет синхронный вариант функций
  • async_mod - предоставляет асинхронный вариант функций

Функции:

  • is_streaming(url) - проверяет, ведёт ли url на прямую страницу
  • download_audio(url, name) - скачивает аудио дорожку ютуб-видео по переданному url
  • audio_separation(name, minute) - делит аудио файл на несколько частей, которые длятся переданое количество минут

About

Telegram бот для получения аудио-дорожек из ютуб-видео

Topics

Resources

Stars

Watchers

Forks