Guest User

Вещание rtmp liquidsoap

a guest
Jan 22nd, 2021
81
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Вещание музыки с картинками
  2.  
  3. set("log.stdout",true)
  4.  
  5.  
  6. # устанавливаем параметры видеопотока
  7. set("frame.video.width",1280) # ширина
  8. set("frame.video.height",720) # высота
  9. set("frame.video.samplerate", 5) # частота кадров, для слайдшоу воплне достаточно и 5
  10.  
  11.  
  12. # создаём список видео для воспроизведения из всех картинок в папке ./jpg продолжительностью 15 секунд каждая
  13. video = mksafe(playlist(prefix="annotate:duration=15:",reload_mode="watch", "./jpg"))
  14.  
  15. # накладываем поверх видео картинку ./farame.png с прозрачностью с рамкой и подложкой для текста
  16. video = video.add_image(width=1280,height=720,x=0,y=0,file="./frame.png",video)
  17.  
  18. # создаём список мызыки из всех подходящих файлов из папки ./mp3
  19. s = mksafe(playlist(reload_mode="watch","./mp3"))
  20.  
  21. # объединяем список видео и музыки, метаданные берём из музыкального списка (названия)
  22. source = mksafe(mux_video(mode="auxiliary",video=drop_metadata(video),s))
  23.  
  24. # из метаданных составляем строку Артист - Название песни
  25. def append_title(m) =
  26. title = m["title"]
  27. artist = m["artist"]
  28. [("title","#{artist} — #{title}")]
  29. end
  30.  
  31. # преобразуем метаданные как определили выше
  32. source = map_metadata(append_title, source)
  33.  
  34. # доваляем поверх нашего списка текст с названием музыки из метаданных, здесь же указано расположение текста и размер шрифта
  35. source = video.add_text.sdl(metadata="title", "Хорошая музыка",speed=0,size=18,x=180,y=645,source)
  36.  
  37. # адрес для вещания и ключ
  38. url="rtmp://stream.dlive.tv/live/"
  39. key="***"
  40.  
  41.  
  42. # параметры ffmpeg для вещания rtmp
  43. cmd = " -deinterlace -vcodec libx264 -pix_fmt yuv420p -profile:v main -preset ultrafast -r 5 -g 10 \
  44. -acodec aac -ar 44100 -qscale:v 3 \
  45. -bufsize 512k -b:v 2500k -f flv \"#{url}/#{key}\""
  46.  
  47. # запускаем вещание
  48. output.external.ffmpeg(fallible=true,cmd, source)
RAW Paste Data