gpt4 book ai didi

ffmpeg - 可以将实时 m3u8 流与来自 WebRTC 源的 PIP 覆盖相结合吗?

转载 作者:行者123 更新时间:2023-12-04 23:28:18 25 4
gpt4 key购买 nike

有人可以告诉我可以使用什么服务器端技术(也许是 ffmpeg)来:

1) 显示此全屏直播视频:

http://aolhdshls-lh.akamaihd.net/i/gould_1@134793/master.m3u8

2) 并在右下角覆盖来自 webRTC 视频聊天流的实时视频?

3) 并将该组合流发送到新的 m3u8 实时流中

4)请注意,它需要是一个服务器端解决方案 - - - 在这种情况下不能启动多个视频播放器(需要将结果流传递给一次只有一个视频解码器的 SmartTV)

到目前为止我发现的最接近的例子是这篇文章:

https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input%20videos

这不是真正的直播,也不是真正的叠加。

任何意见是极大的赞赏。

最佳答案

让我清楚你在这种情况下想要什么:

  • 输入视频是来自 webRTC 的 HLS 流:延迟呢?在你的工作中交易很重要吗?
  • 将图像叠加到视频中:这将需要解码输入视频,对其进行过滤,再次编码。所以如果输入视频是 1080p,它需要大量的 cpu 资源,甚至更多。
  • 重构新的 HLS 格式:您必须为其添加大量编码选项,以确保 ts 片段正常工作。最重要的是 GOP 大小和 ts 持续时间。
  • 您需要一个 Web 服务器来提供 m3u8 索引文件。你可以使用nginx,apache。

  • 我现在在这个答案中告诉你的是 ffmpeg 命令行,它从输入 HLS 流中进行覆盖并重新制作 ts 段。

    以下命令行将在步骤 1 到步骤 3 中执行您想要的操作:
    ffmpeg \
    -re -i "http://aolhdshls-lh.akamaihd.net/i/gould_1@134793/master.m3u8" \
    -i "[OVERLAY_IMAGE].png" \
    -filter_complex "[0:v][1:v]overlay=main_w:main_h[output]" \
    -map [output] -0:a -c:v libx264 -c:a aac -strict -2 \
    -f ssegment -segment_list out.list out%03d.ts

    这是从输入 HLS 流中覆盖图像然后创建 ts 段和索引文件的基本命令行。

    我对 HLS 没有任何进一步的经验,所以它可以在没有任何调整选项的情况下完成,但也许你应该为你的工作调整它。你也应该搜索一下web服务器来提供m3u8,但这并不难。

    正如我所说,GOP 大小(-g)及其持续时间(segment_tim)将是您调整的关键点。

    关于ffmpeg - 可以将实时 m3u8 流与来自 WebRTC 源的 PIP 覆盖相结合吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33326038/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com