使用ffmpeg或Liquidsap作为视频自动化广播的脚本



我想构建一个模块,将虚假的实时播放列表动态广播到rtmp服务器。可能有播放列表广播公司,如Xsplit、带有FFMLE的VirtualCam、Wirecast,但它们每个都需要一个好的图形卡才能工作,而云服务器可能没有图形卡。我尝试了Liquidsap和以下congif:

set("frame.video.width", 1280)
set("frame.video.height", 720)
set("frame.video.samplerate", 25)
set("gstreamer.add_borders", false)
s = single("/home/user/singlevideo.mp4")
s = fallback([s, blank()])
output.gstreamer.audio_video(
  video_pipeline=
    "videoconvert ! x264enc bitrate=2000 ! video/x-h264,profile=baseline ! queue ! mux.",
  audio_pipeline=
    "audioconvert ! voaacenc bitrate=96000 ! queue ! mux.",
  pipeline=
    "flvmux name=mux ! rtmpsink location="rtmp://127.0.0.1:1930/live/live live=1"",
  s)

这运行得很好,但当我把它从单曲改为播放列表("/home/user/playlist.m3u")时,我只得到了一个黑屏(这是后备)。如果有人在视频播放列表中使用过Liquidsoap,该如何更改此配置才能使其正常工作?

对于FFMPEG,它也适用于无法流式播放列表的单个视频文件。如果有人有一个脚本可以监控ffmpeg进程,并在当前文件结束前3秒更改源,或者类似的东西?

我这样使用它:

videosource = playlist(reload=3600, "/home/user/videostreams/videos.txt")
videoplaylist = mksafe(videosource)
theoracodec = %ogg(%theora(quality=25), %vorbis)

然后我将其输出到Icecast:

output.icecast(theoracodec,id="icecast_ogv",host="localhost",port=8000,password="passw",mount="video",description="Description",public=false,url="my_url",videoplaylist)

也许这可以帮助您

Libav/FFMPEG流式传输解决方案RTMP与动态播放列表。

https://github.com/fyroc/RTMP-Playlist

尝试

playlist.safe("/home/user/playlist.m3u")

相关内容

  • 没有找到相关文章

最新更新