看來,這一定會發生在許多不同的情況下,如添加字幕。我想要做的是抓住一個框架,改變其中的一些功能,然後「放回去」,以便最終用戶看到這一變化。我想我知道如何抓取和修改框架,但重新插入到流中,我不知道該怎麼做。希望鏈接或代碼。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