Giter Club home page Giter Club logo

Comments (8)

duan602728596 avatar duan602728596 commented on July 2, 2024

连麦的时候直播流地址是不变的,所以可能没法保证区分单人还是连麦了。
不过我可以考虑一下录制直播的同时转码。

from 48tools.

Francis0546 avatar Francis0546 commented on July 2, 2024

求问这个录出来有什么补救措施吗,正常直播部分是好的,连麦部分会出错,怎样能得到完好的连麦部分片段呢?

from 48tools.

Hz007 avatar Hz007 commented on July 2, 2024

from 48tools.

duan602728596 avatar duan602728596 commented on July 2, 2024

求问这个录出来有什么补救措施吗,正常直播部分是好的,连麦部分会出错,怎样能得到完好的连麦部分片段呢?

视频有声音吗?有没有换其他的播放器试试?录制的视频给我发一份吧。

from 48tools.

Genteure avatar Genteure commented on July 2, 2024

连麦的时候主播一侧会断开原推流,重新用声网SDK推流。结束连麦的时候会断开重新推直播姬自己编码出来的数据。
因为编码器不同、编码参数不同,直播流里视频的解码参数也不同,比如最明显的视频分辨率,除了视频分辨率以外还有其他的参数也会变。
如果断开重连足够快,直播服务器会把两个不同的直播流拼到一起发给播放端。数据都是完整的,但是直播服务器与播放端的连接没有断开,于是两段不同解码参数的直播流就拼接到一起了。

解码参数1 数据 ... 数据 数据 解码参数2 数据 数据 数据 ...

因为各种播放器和 ffmpeg 都只会使用文件最开头的那一组解码参数,播放到连麦部分的时候会用正常直播部分的解码参数去解码连麦部分的视频数据,导致花屏绿屏等问题。

如果有直播服务器给的没有处理过的原始数据的话,可以用我写的录播姬里工具箱的录播修复功能自动修。
可以自动在检测到新的 header 以及参数变动的位置把文件切开,每个文件都可以单独正常播放。

我看这个项目好像是用 ffmpeg 录播的,因为 ffmpeg 也只认第一组解码参数(也就是音频和视频的header),后面的解码参数就被丢掉了,就不能自动修复了。

如果文件很重要,可以尝试手动修复,大概思路:

  1. 找一个含有连麦部分解码参数的文件,从里面提取连麦部分的解码参数
  2. 找到问题文件里连麦部分的位置
  3. 把连麦部分的解码参数和连麦部分的数据复制到一个新文件里

手动编辑可以使用我写的另一个工具 FlvInteractiveRebase,可以实现 tag 级的文件编辑,避免眼看手改二进制的麻烦。

from 48tools.

duan602728596 avatar duan602728596 commented on July 2, 2024

连麦的时候主播一侧会断开原推流,重新用声网SDK推流。结束连麦的时候会断开重新推直播姬自己编码出来的数据。 因为编码器不同、编码参数不同,直播流里视频的解码参数也不同,比如最明显的视频分辨率,除了视频分辨率以外还有其他的参数也会变。 如果断开重连足够快,直播服务器会把两个不同的直播流拼到一起发给播放端。数据都是完整的,但是直播服务器与播放端的连接没有断开,于是两段不同解码参数的直播流就拼接到一起了。

解码参数1 数据 ... 数据 数据 解码参数2 数据 数据 数据 ...

因为各种播放器和 ffmpeg 都只会使用文件最开头的那一组解码参数,播放到连麦部分的时候会用正常直播部分的解码参数去解码连麦部分的视频数据,导致花屏绿屏等问题。

如果有直播服务器给的没有处理过的原始数据的话,可以用我写的录播姬里工具箱的录播修复功能自动修。 可以自动在检测到新的 header 以及参数变动的位置把文件切开,每个文件都可以单独正常播放。

我看这个项目好像是用 ffmpeg 录播的,因为 ffmpeg 也只认第一组解码参数(也就是音频和视频的header),后面的解码参数就被丢掉了,就不能自动修复了。

如果文件很重要,可以尝试手动修复,大概思路:

  1. 找一个含有连麦部分解码参数的文件,从里面提取连麦部分的解码参数
  2. 找到问题文件里连麦部分的位置
  3. 把连麦部分的解码参数和连麦部分的数据复制到一个新文件里

手动编辑可以使用我写的另一个工具 FlvInteractiveRebase,可以实现 tag 级的文件编辑,避免眼看手改二进制的麻烦。

其实最大的问题就是解码这块,可以尝试一下实时解码。

from 48tools.

shiningPrince1003 avatar shiningPrince1003 commented on July 2, 2024

目前口袋的直播流已使用m3u8的格式,m3u8文件内包含若干个TS文件。分别存储每一段TS到一个文件夹,可能是一个解决连麦视频流花屏卡顿的更优办法。如果用户有本地播放的需要,可以在录制结束后生成一个包含本地所有TS片段的m3u8文件。

from 48tools.

Hz007 avatar Hz007 commented on July 2, 2024

from 48tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.