当前位置: 首页 > news >正文

怎样用织梦建设网站报个电脑培训班要多少钱

怎样用织梦建设网站,报个电脑培训班要多少钱,医疗器械网站建设,vi设计对企业的意义注意#xff1a;这是我们的“ Xuggler开发教程 ”系列的一部分。 随着互联网上视频的爆炸式增长#xff0c;开发人员经常需要在其应用程序中操纵视频内容。 Xuggler是Java开发人员的免费开放源代码库#xff0c;可用于实时解压缩#xff0c;处理和压缩录制的视频或实时视频… 注意这是我们的“ Xuggler开发教程 ”系列的一部分。 随着互联网上视频的爆炸式增长开发人员经常需要在其应用程序中操纵视频内容。 Xuggler是Java开发人员的免费开放源代码库可用于实时解压缩处理和压缩录制的视频或实时视频。 Xuggler在后台使用了功能非常强大的FFmpeg媒体处理库实际上在它们周围扮演着Java包装器的角色。 这是从Java解压缩修改和重新压缩任何媒体文件或流的简单方法。 FFmpeg是一个完整的跨平台解决方案用于记录转换和流式传输音频和视频并支持多种格式。 即使您不知道它也很可能已经在计算机上使用它。 但是Xuggler的用途不仅限于提供对复杂FFmpeg本机库的轻松访问。 Xuggler开发团队还不断对FFmpeg进行改进。 您可以在Xuggle博客上找到最新消息该博客中还发布了许多教程。 千万不要错过这些家伙的过分简单的互联网视频指南 。 让我们继续获取FFmpeg。 请注意Xuggler带有自己的改进的FFmpeg版本以避免配置错误因此您不必手动获取FFmpeg。 在此过程中我们将在将控制权交给Xuggler之前直接使用FFmpeg进行一些测试因此您可能希望将原始版本作为单独的可执行文件使用。 转到FFmpeg下载页面并获取最新发行版当时的版本为0.6.1。 对于Linux您可以从tarball下载源代码并继续进行编译。 在Windows中您可能应该获得预编译的二进制文件。 我使用了Mplayer-win32提供的一个可以从这里获得。 您将在此处找到ffmpeg.exe可执行文件。 将其复制到一个特定的文件夹中我选择“ C\ programs \ ffmpeg”如果不想每次都写完整的路径可以选择将ffmpeg.exe添加到系统路径中。 要测试可执行文件是否正常工作请打开终端并在不带参数的情况下运行它。 您应该看到类似于以下的输出 FFmpeg版本SVN-r21231-Sherpya版权所有c2000-2010 Fabrice Bellard等。 建于2010年1月16日05:42:31与gcc 4.2.5 20080919预发行[Sherpya] libavutil 50. 7. 0 / 50. 7. 0 libavcodec 52.47。 0 / 52.47。 0 libavformat 52.47。 0 / 52.47。 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.15。 0 / 1.15。 0 libswscale 0. 8. 0 / 0. 8. 0 libpostproc 51. 2. 0 / 51. 2. 0 超快速音频和视频编码器 用法ffmpeg [选项] [[infile选项] -i infile]…{[outfile选项] outfile}… 使用-h获得完整的帮助或者甚至更好地运行man ffmpeg 您也可以使用输出建议的“ -h”开关来接收一堆冗长的参数和选项。 最好查看在线FFmpeg文档 。 下一步是对您的第一个视频进行转码 可能是从预录制的文件中转码 。 我的输入文件是一个4分钟20秒长的MP4视频大小为18.1MB称为“ myvideo.mp4”。 我想将其转换为Flash视频从而大大降低其质量。 使用FFmpeg可以很容易地通过发出以下命令来完成此操作注意对路径使用正斜杠 ffmpeg.exe -i C/myvideo.mp4 C/myvideo.flv 控制台输出如下所示 FFmpeg版本SVN-r21231-Sherpya版权所有c2000-2010 Fabrice Bellard等。 建于2010年1月16日05:42:31与gcc 4.2.5 20080919预发行[Sherpya] libavutil 50. 7. 0 / 50. 7. 0 libavcodec 52.47。 0 / 52.47。 0 libavformat 52.47。 0 / 52.47。 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.15。 0 / 1.15。 0 libswscale 0. 8. 0 / 0. 8. 0 libpostproc 51. 2. 0 / 51. 2. 0 似乎流1编解码器的帧速率与容器的帧速率不同59.9214981/250- 29.9614981/500 从C/myvideo.mp4输入0movmp4m4a3gp3g2mj2 元数据 major_brandmp42 minor_version0 兼容品牌isomavc1mp42 持续时间000420.96开始0.000000比特率582 kb / s 流0.0und音频aac44100 Hz立体声s16、115 kb / s 流0.1und视频h264yuv420p480×270 [PAR 11 DAR 169]464 kb / s29.96 fps29.96 tbr29962 tbn59.92 tbc 输出0 flv到C/myvideo.flv 流0.0und视频flvyuv420p480×270 [PAR 11 DAR 169]q 2-31200 kb / s1k tbn29.96 tbc 流0.1und音频libmp3lame44100 Hz立体声s1664 kb / s 流映射 流0.1-0.0 流0.0-0.1 按[q]停止编码 [libmp3lame 0038f3a0] lame输出缓冲区太小缓冲区索引9404可用字节388 音频编码失败 忽略“音频编码失败”消息没有错误。 结果是一个不错的可播放的FLV文件名为“ myvideo.flv”大小为10.1MB。 太酷了让我们继续安装Xuggler。 首先我们从Xuggler下载页面获取最新版本。 如此处所述 Xuggler由两个主要部分组成 一组Java jar文件和一组本机共享库Windows上的.dll文件Linux上的.so文件或Mac上的.dylib文件。 要使用它您需要先安装本机库然后才能编写使用Xuggler的程序。 确保下载与操作系统的体系结构和Java版本匹配的正确文件。 例如我下载了Windows的32位对于Windows没有64位Java 1.5或更高版本它基本上是一个安装程序。 您可以在下载页面中找到有关如何安装本机库的说明。 对于Windows您可以卸载任何以前的版本然后运行安装程序当然还要重新启动计算机 。 还有一个视频介绍了如何在Microsoft Windows上安装Xuggler 。 重新启动后让我们测试安装是否成功。 首先我们检查Xuggle路径变量是否已设置 C\回声XUGGLE_HOME C\ Program档案x86\ Xuggle 路径已正确设置。 请注意Xuggler FFmpeg可执行文件位于“XUGGLE_HOME/ bin”文件夹中。 让我们通过发出以下命令来播放我们的第一个视频将“ c/myvideo.mp4”替换为您的文件 java -cp“XUGGLE_HOME\ share \ java \ jars \ xuggle-xuggler.jar” com.xuggle.xuggler.demos.DecodeAndPlayVideo c/myvideo.mp4 是时候使用Xuggler编写我们的第一个代码了。 我们将检查视频文件找到其媒体容器并打印出内容摘要。 同时将Xuggle API Javadocs加入书签以备将来参考。 启动您喜欢的IDE创建一个新项目然后导入在“XUGGLE_HOME/ share / java / jars”文件夹中找到的所有JAR文件。 该示例类似于如何在Eclipse中编写您的第一个Xuggler应用程序一文中提供的示例。 package com.javacodegeeks.xuggler.intro;import com.xuggle.xuggler.ICodec; import com.xuggle.xuggler.IContainer; import com.xuggle.xuggler.IStream; import com.xuggle.xuggler.IStreamCoder;public class VideoInfo {private static final String filename c:/myvideo.mp4;public static void main(String[] args) {// first we create a Xuggler container objectIContainer container IContainer.make();// we attempt to open up the containerint result container.open(filename, IContainer.Type.READ, null);// check if the operation was successfulif (result0)throw new RuntimeException(Failed to open media file);// query how many streams the call to open foundint numStreams container.getNumStreams();// query for the total durationlong duration container.getDuration();// query for the file sizelong fileSize container.getFileSize();// query for the bit ratelong bitRate container.getBitRate();System.out.println(Number of streams: numStreams);System.out.println(Duration (ms): duration);System.out.println(File Size (bytes): fileSize);System.out.println(Bit Rate: bitRate);// iterate through the streams to print their meta datafor (int i0; inumStreams; i) {// find the stream objectIStream stream container.getStream(i);// get the pre-configured decoder that can decode this stream;IStreamCoder coder stream.getStreamCoder();System.out.println(*** Start of Stream Info ***);System.out.printf(stream %d: , i);System.out.printf(type: %s; , coder.getCodecType());System.out.printf(codec: %s; , coder.getCodecID());System.out.printf(duration: %s; , stream.getDuration());System.out.printf(start time: %s; , container.getStartTime());System.out.printf(timebase: %d/%d; ,stream.getTimeBase().getNumerator(),stream.getTimeBase().getDenominator());System.out.printf(coder tb: %d/%d; ,coder.getTimeBase().getNumerator(),coder.getTimeBase().getDenominator());System.out.println();if (coder.getCodecType() ICodec.Type.CODEC_TYPE_AUDIO) {System.out.printf(sample rate: %d; , coder.getSampleRate());System.out.printf(channels: %d; , coder.getChannels());System.out.printf(format: %s, coder.getSampleFormat());} else if (coder.getCodecType() ICodec.Type.CODEC_TYPE_VIDEO) {System.out.printf(width: %d; , coder.getWidth());System.out.printf(height: %d; , coder.getHeight());System.out.printf(format: %s; , coder.getPixelType());System.out.printf(frame-rate: %5.2f; , coder.getFrameRate().getDouble());}System.out.println();System.out.println(*** End of Stream Info ***);}}} 我们首先获得一个IContainer实例该实例是一个数据源其中包含一个或多个音频和视频数据流。 然后我们尝试打开媒体文件并使其可供读取。 如果操作成功我们可以轻松地检索信息例如包含的流数 总持续时间 文件大小和比特率 。 请注意此信息响应容器本身。 但是我们可以获得有关容器组成的各个流的元数据。 我们使用getStream方法来引用相应的流然后使用IstreamCoder它是可以解码特定流的解码器。 从该对象中我们可以找到流的编解码器类型 编解码器ID和其他信息。 最后我们能够区分音频和视频流。 对于音频流我们可以找到使用的采样率 通道数和音频采样格式 。 同样对于视频流我们可以获得尺寸 宽度和高度 像素格式和帧频 。 样本输出如下所示 流数2 持续时间毫秒260963888 档案大小位元组19007074 比特率582672 ***流信息开始*** 流0类型CODEC_TYPE_AUDIO 编解码器CODEC_ID_AAC; 持续时间11507712; 开始时间0 时基1/44100 编码器tb1/44100 采样率44100 频道2 格式FMT_S16 ***流信息结束*** ***流信息开始*** 流1类型CODEC_TYPE_VIDEO; 编解码器CODEC_ID_H264; 持续时间7819000; 开始时间0 时基1/29962 编码器tb250/14981 宽度480; 高度270; 格式YUV420P; 帧频29.96 ***流信息结束*** 伙计们。 Xuggler的视频处理软件简介。 与往常一样您可以下载为本教程创建的Eclipse项目 。 在接下来的教程中我将向您展示Xuggler和FFmpeg可以完成的一些更酷的工作例如视频转换和修改。 因此请继续关注JavaCodeGeeks 别忘了分享 相关文章 使用wowza和xuggler将RTMP转换为RTSP Xuggler教程转码和媒体修改 Xuggler教程帧捕获和视频创建 使用VirtualBox在PC上安装Android OS 翻译自: https://www.javacodegeeks.com/2011/02/introduction-xuggler-video-manipulation.html
http://www.pierceye.com/news/486942/

相关文章:

  • 河南省住房和城乡建设部网站首页安徽建设工程信息平台
  • 网站开发工程师的要求做seo要明白网站内容
  • 如何做天猫网站医学ppt模板免费下载网站
  • 网站上的通话功能怎么做网站用不用备案
  • 信誉好的模板网站建设wordpress 伪静态设置
  • wordpress主题外贸网站wordpress检查php版本号
  • 便宜电商网站建设找平面图的网站
  • 大型网站建设制作平台东莞南城房价
  • 360免费视频网站建设mvc网站开发之美
  • 武宁县建设工程招标公告门户网站设计一个网站先做哪些构造
  • 公司网站免费建设2023设计院裁员惨烈程度
  • 别人做的网站不能用设计网站教程
  • 设计师发布作品的网站wordpress仿
  • 品牌微信网站建设柳州做网站制作的公司有哪些
  • 买域名做网站推广都是些什么网站点击后的loading是怎么做的
  • 北京网站优化技术泰州自助建站软件
  • 公司企业网站建设目的站长统计官方网站
  • 集团公司网站模板wordpress更换主题方法
  • 临沂网站建设电话建设网站审批手续
  • 国外做健康的网站专门做鞋子的网站吗
  • 手机网站支持微信支付吗北京短视频拍摄
  • 做静态网站工资多少网站前期推广
  • 做预算查价格的网站是哪个好网站开发维护多少钱
  • 个人互动网站365建筑人才网
  • 天津外贸公司网站制作淘客cms网站建设
  • 怎样做微网站网站建设pc指什么软件
  • 四川 网站建设wordpress腾讯地图插件下载
  • 宁波网站公司哪家好百度关键词搜索量排名
  • 北京国税局网站做票种核定时眉山网站优化
  • 网站备案授权书成都网站建设十强企业