wowza rtsp_使用wowza和xuggler将RTMP转为RTSP
wowza rtsp
注意:這是我們的“ Xuggler開發(fā)教程 ”系列的一部分。大家好!
在過去的三個(gè)月中,我們一直在進(jìn)行電話會(huì)議項(xiàng)目。 我們認(rèn)為,使用諸如Flex之類的技術(shù)的基于Web的應(yīng)用程序?qū)⑹谴祟愐罂量痰捻?xiàng)目的最佳方法。 隨著軟件的復(fù)雜性和電信提供商的需求增加,我們面臨的挑戰(zhàn)值得注意。 一個(gè)挑戰(zhàn)是要求從使用我們的軟件的代理向其RTSP服務(wù)器提供實(shí)時(shí)視頻。 我們面臨的問題是Flex在視頻和音頻傳輸中使用了RTMP協(xié)議,我們需要快速進(jìn)行一些重新流處理而又不會(huì)浪費(fèi)時(shí)間的事情。
在本文中,我們將嘗試提供足夠的信息來解決一個(gè)復(fù)雜的問題,即實(shí)時(shí)流的RTMP到RTSP的重新流傳輸。 我們的解決方案基于同時(shí)支持RTMP和RTSP的 wowza流服務(wù)器以及xuggler ,后者在Java應(yīng)用程序中帶來了FFMPEG的強(qiáng)大功能。
Wowza支持將H.264實(shí)時(shí)流從RTMP轉(zhuǎn)換為RTSP ,而不支持H.263 。 默認(rèn)情況下,從ActionScript Camera對(duì)象捕獲的視頻是H.263編碼的。 我們將提供基于xuggler的代碼,該代碼可實(shí)時(shí)將H.263轉(zhuǎn)換為H.264 ,并將H.264流發(fā)布到Wowza 。
首先,我們需要設(shè)置xuggler 。 我們需要最新版本的FFMPEG和H.264,因此有必要從svn存儲(chǔ)庫中檢出xuggler 。
svn checkout http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler xuggle-xuggler然后我們必須設(shè)置一些環(huán)境參數(shù)。
的Linux
export XUGGLE_HOME=/usr/local/xuggler export PATH=$XUGGLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH蘋果電腦
export XUGGLE_HOME=/usr/local/xuggler export PATH=$XUGGLE_HOME/bin:$PATH export DYLD_LIBRARY_PATH=$XUGGLE_HOME/lib:$DYLD_LIBRARY_PATH視窗
- 將XUGGLE_HOME設(shè)置為您選擇的目錄(確保該目錄在磁盤上)。 生成時(shí),必須確保XUGGLE_HOME位于C:驅(qū)動(dòng)器上,并且位于沒有空格的路徑中。 抱歉。 如果使用安裝程序,則此限制不適用。
- 添加%XUGGLE_HOME%\ bin ; 到PATH環(huán)境變量的開頭。
- (可選)將%XUGGLE_REPO%設(shè)置到您希望螞蟻安裝已發(fā)布的常春藤jar的目錄(如果未設(shè)置,默認(rèn)在構(gòu)建目錄中為dist / ivy)。
然后,我們必須構(gòu)建并安裝xuggler 。
ant run-tests sudo ant install現(xiàn)在你已經(jīng)xuggler安裝在$ XUGGLE_HOME
完成安裝后,我們必須編寫完成此技巧的代碼。
package com.javacodegeeks.xuggler;import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException;import com.xuggle.xuggler.Converter;public class Transcoder {/*** @param args*/public static void main(String[] args) {String inputStream = "rtmp://wowzahost/live/streamLive3H.263";String outputStream = "rtmp://wowzahost/live/streamLive3H.264";String[] parameters = new String[] { "--acodec", "libfaac", "--vcodec","libx264", "--vpreset","/usr/local/xuggler/share/ffmpeg/libx264-ultrafast.ffpreset",inputStream, outputStream };Converter converter = new Converter();Options options = converter.defineOptions();CommandLine cmdLine;try {cmdLine = converter.parseOptions(options, parameters);converter.run(cmdLine);System.out.println("Finish!!!");} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}注意事項(xiàng)。
- 在$ XUGGLE_HOME / share / ffmpeg目錄中,您會(huì)找到所有x264可用的預(yù)設(shè)。更好的質(zhì)量意味著更多的延遲。 您將必須選擇適合您的需求。
- 您將不必更改acodec和vcodec
- FFMPEG的最新版本可以讀取和寫入RTMP流。
示例項(xiàng)目在此處可用。
感謝您的時(shí)間。 希望您會(huì)發(fā)現(xiàn)本文有趣。
最好的祝福
。/拍
翻譯自: https://www.javacodegeeks.com/2010/05/rtmp-to-rtsp-re-stream-using-wowza-and.html
wowza rtsp
總結(jié)
以上是生活随笔為你收集整理的wowza rtsp_使用wowza和xuggler将RTMP转为RTSP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 霍廷格对古吉霍斯特-哪一个更好[2022
- 下一篇: java是如何实现原语的_Java中的低