Wowza:在播放时修改流?

标签 wowza

看来这一定会发生在许多不同的情况下,例如添加字幕。我想要做的是抓取一个框架,更改其中的某些功能,然后“将其放回去”,以便最终用户看到此更改。我想我知道如何抓取和修改框架,但将其重新插入流中我不知道该怎么做。希望有链接或代码。

最佳答案

在直播中,根据最终目标可能需要考虑一些事项。如果这是真正的数据包/帧级别操作,您可能需要进行修改并将输出设置为新流(源保持不变,但新流进行了修改)。内联修改流会很成问题。

Packet level modification using IMediaStreamLivePacketNotify

您可以实现 IMediaStreamLivePacketNotify 接口(interface)来处理新数据包并根据需要修改它们。实现示例:

private class PacketListener implements IMediaStreamLivePacketNotify
{

    @Override
    public void onLivePacket(IMediaStream stream, AMFPacket packet)
    {
        // handle packet modifications 
    }
}

修改数据包后,您可以将其发布到通过 Publisher 对象发布的辅助流。

Publisher.createInstance(vhost, appName, appInstName);

发布者包含将 A/V 数据添加到新流的功能:

    switch (packet.getType())
    {
    case IVHost.CONTENTTYPE_AUDIO:
        publisher.addAudioData(packet.getData(), packet.getAbsTimecode());
        break;

    case IVHost.CONTENTTYPE_VIDEO:
        publisher.addVideoData(packet.getData(), packet.getAbsTimecode());
        break; 
    case IVHost.CONTENTTYPE_DATA:
    case IVHost.CONTENTTYPE_DATA3:
        publisher.addDataData(packet.getData(), packet.getAbsTimecode());
    }

Duplicate Streams module 中有类似的功能更广泛地了解此实现。

Packet level modification using getPlayPackets()

您还可以查看 IMediaStream 对象并利用 IMediaStream.getPlayPackets() 功能。然后,您可以获取数据包并根据需要在持续处理入站流的相应线程中进行修改。此后,您可以使用 Publisher 对象来发布新流(与上面类似)。

Metadata injection

但是,如果您只是想 inject some metadata这个过程变得更加基本。您可以修改源流中的 AMFDataList 以包含新的元信息。

Adding onto the stream

如果您希望将数据添加到内联流(而不是修改它),您可以简单地通过 ImediaStream 对象添加它:

IMediaStream.addAudioData(..)

关于Wowza:在播放时修改流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191377/

相关文章:

asp.net - 如何在asp.net 网站中使用wowza 媒体服务器?

ubuntu - 无法在 Wowza 流媒体引擎上发布流。服务器创建并立即销毁流

audio - Wowza 和 FFMPEG 的 Webrtc 流问题

android - 将实时视频从 android 流式传输到 wowza

带有凭据的 FFMPEG RTMP 流式传输到 WOWZA 服务器

Android - 在使用 WebRTC 发送到 Wowza Streaming Engine 之前旋转视频帧

android - WOWZA + RTMP + HTML5 播放?

python - 通过 GStreamer 和 Python 的 RTMP

php - 通过 php 向 Linux 服务器运行 Curl 命令

html5-video - 如何在 videojs 上播放 HLS Wowza Live Stream (m3u8)