看来,这一定会发生在许多不同的情况下,如添加字幕。我想要做的是抓住一个框架,改变其中的一些功能,然后“放回去”,以便最终用户看到这一变化。我想我知道如何抓取和修改框架,但重新插入到流中,我不知道该怎么做。希望链接或代码。Wowza:在播放流时修改流?
2
A
回答
2
在实时流上,根据最终目标可能会有几件事要考虑。如果它是真正的数据包/帧级别操作,则可能需要进行修改并将输出设置为新流(源保持未受损,但新流具有修改)。在线修改流将会产生问题。
使用IMediaStreamLivePacketNotify
包级的修改可以实现IMediaStreamLivePacketNotify接口来处理新的数据包,并根据需要进行修改。示例实现:
private class PacketListener implements IMediaStreamLivePacketNotify
{
@Override
public void onLivePacket(IMediaStream stream, AMFPacket packet)
{
// handle packet modifications
}
}
修改数据包后,您可以将它发布到通过发布服务器对象发布的辅助流。
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在此实现更广泛的外观之内类似的功能。使用getPlayPackets(
数据包级别的修改)
你也可以看看IMediaStream对象,并充分利用IMediaStream.getPlayPackets()功能。然后,您可以获取数据包并根据需要修改相应的线程,以持续处理入站流。之后,您可以使用Publisher对象发布新流(类似于上面)。
元数据注入
不过,如果你只是希望inject some metadata过程变得更为基本。您可以修改源流中的AMFDataList以包含新的元信息。
添加到流
如果您正在寻找将数据添加到在线流(VS修改它),你可以简单地通过ImediaStream对象添加:
IMediaStream.addAudioData(..)
相关问题
- 1. 如何在wowza上播放rtsp流?
- 2. 在VLC播放器读取wowza流
- 3. 一个Wowza流
- 4. Android流到Wowza
- 5. 到Wowza的实时RTMPS流
- 6. 播放直播流
- 7. 在wowza媒体流安全流媒体
- 8. Android播放器WOWZA服务器RTSP流问题
- 9. 延迟播放的视频是从Wowza流引擎获得
- 10. Wowza错误:无法播放myStream;未发现流媒体。
- 11. BASS“播放”流
- 12. videojs播放流时开始
- 13. C#FMOD实时播放流
- 14. Wowza RTSP流认证
- 15. 在VLC播放器中播放RTSP流
- 16. 冗余HLS流在Wowza
- 17. WOWZA + RTMP + HTML5播放?
- 18. ffmpeg:播放udp流
- 19. 用Windows.Media.Playback.MediaPlayer播放流?
- 20. 播放音频流
- 21. 在vlcj中播放实时http流
- 22. 在Android中播放.m3u8 HLS实时流
- 23. AVPlayer Streaming - 在特定时间播放流
- 24. 在Android上播放实时流
- 25. 在Android中播放PCM流
- 26. 在Python中播放MMS流
- 27. 在HTML5中播放UDP流
- 28. 在flex中播放RTP流
- 29. 播放视频流在iPhone
- 30. 在Android上播放rtsp流
不Wowza处理Live与VOD的方式如此不同,以至于其中的代码对其他代码不起作用?我无法获得Wowza提供的示例工作,我不知道如果使用mp4文件而不是像摄像头那样的“实时”源(?)导致问题。 – Jeff
对于VOD,您无法获取播放数据包。你可能可以做到这一点,VOD请求将通过媒体阅读器修改源,检查出[链接](https://www.wowza.com/forums/content.php?作为其使用的示例,如何选择音频数据和/或视频频道 - 来自多声道MP4文件的使用IMediaReaderActionNotify)。 – Matt