摄影网站参考文献,招商加盟网站怎么做,无域名公司注册,南昌做网站价格注意#xff1a;这是我们的“ Xuggler开发教程 ”系列的一部分。 大家好#xff01; 在过去的三个月中#xff0c;我们一直在进行电话会议项目。 我们认为#xff0c;使用诸如Flex之类的技术的基于Web的应用程序将是此类要求苛刻的项目的最佳方法。 随着软件的复杂性和电信… 注意这是我们的“ Xuggler开发教程 ”系列的一部分。 大家好 在过去的三个月中我们一直在进行电话会议项目。 我们认为使用诸如Flex之类的技术的基于Web的应用程序将是此类要求苛刻的项目的最佳方法。 随着软件的复杂性和电信提供商的需求增加我们面临的挑战值得注意。 一个挑战是要求从使用我们的软件的代理向其RTSP服务器提供实时视频。 我们面临的问题是 Flex在视频和音频传输中使用了RTMP协议我们需要快速进行一些重新流处理而又无需重新发明轮子的事情。 在本文中我们将尝试提供足够的信息来解决一个复杂的问题即实时流的RTMP到RTSP的重新流传输。 我们的解决方案基于同时支持RTMP和RTSP的 wowza流服务器以及xuggler 后者在Java应用程序中带来了FFMPEG的强大功能。 Wowza支持将H.264实时流从RTMP转换为RTSP 但不支持H.263 。 默认情况下从ActionScript Camera对象捕获的视频是H.263编码的。 我们将提供基于xuggler的代码该代码可实时将H.263转换为H.264 并将H.264流发布到Wowza 。 首先我们需要设置xuggler 。 我们需要最新版本的FFMPEG和H.264因此有必要从svn存储库中检出xuggler 。 svn checkout http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler xuggle-xuggler 然后我们必须设置一些环境参数。 的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设置为您选择的目录确保该目录在磁盘上。 生成时必须确保XUGGLE_HOME在C驱动器上并且在路径中没有空格。 抱歉。 如果使用安装程序则此限制不适用。 添加XUGGLE_HOME\ bin ; 到PATH环境变量的开头。 可选将XUGGLE_REPO设置到您希望蚂蚁安装已发布的常春藤jar的目录如果未设置则默认在构建目录中为dist / ivy。 然后我们必须构建并安装xuggler 。 ant run-tests
sudo ant install 现在你已经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();}}} 注意事项。 在$ XUGGLE_HOME / share / ffmpeg目录中您会找到所有x264可用的预设。更好的质量意味着更多的延迟。 您将必须选择适合您的需求。 您将不必更改acodec和vcodec FFMPEG的最新版本可以读取和写入RTMP流。 示例项目在此处可用。 感谢您的时间。 希望您会发现本文有趣。 最好的祝福 。/拍 翻译自: https://www.javacodegeeks.com/2010/05/rtmp-to-rtsp-re-stream-using-wowza-and.html