`

java flv转换

    博客分类:
  • java
阅读更多

这两天完善了一下视频转换这个东西,以前做的那套东西上传完之后就开始转换,无法适应大并发量下的视频转换(我觉得同时有10个ffmpeg进程在转视频服务器肯定要挂掉),所以我用了另一套方案,视频上传之后先不转换,把视频的基本信息存到数据库中,然后由程序定时的从数据库中读取数据,依次转换视频。具体做法是:1、上传文件,将文件名存入数据库,同时在数据库标明videostat字段为0(表示未转换)

  2、通过程序,每隔30秒(根据不同情况可以改变)取出一个未转换(videostat=0)且失败次数小于5(confailtime<5)的纪录

  3、开始转换视频,这里要先将数据库中videostat字段改为2(表示正在转换)不然30秒钟转换不完下个进程又会读到这条纪录开始转换......

  4、等待转换进程结束,如果成功将相应纪录的videostat字段的值改为1(表示转换成功),若转换失败则将失败次数字段加一(confailtime=confailtime+1)

  在鼓捣这东西的过程中,遇到了一个问题,如果一个进程先执行p.waitFor();方法而后输出命令行中的结果是不行的,即:

 

int flag = p.waitFor();
InputStream inErr = p.getErrorStream();
            InputStream inIns = p.getInputStream();
            BufferedReader brErr = new BufferedReader(new InputStreamReader(
                    inErr));
            BufferedReader brIns = new BufferedReader(new InputStreamReader(
                    inIns));
            // inErr读取输出信息开始
            String strsErr = "";
            String strErr = brErr.readLine();
            while (strErr != null) {
                strsErr = strsErr + strErr + "\n";
                System.out.println(strErr);
                strErr = brErr.readLine();
            }
            // inErr读取输出信息结束

            // inIns读取输出信息开始
            String strsIns = "";
            String strIns = brIns.readLine();
            while (strIns != null) {
                strsIns = strsIns + strIns + "\n";
                System.out.println(strIns);
                strIns = brErr.readLine();
            }

 

如果这样执行的话进程会挂起,无法继续下午,而正确的方法是先读取命令行的数据,再来waitFor();

还有一点需要注意的是获得命令行的输出结果先要从错误流中获得,即(ErrorStream),而非从输入流(InputStream)中获得,很有用的经验。

分享到:
评论

相关推荐

    java把各种视频格式转化为flv

    在本场景中,我们关注的是如何使用Java将各种视频格式转换为FLV(Flash Video)格式。FLV是Adobe Flash Player支持的一种流式视频格式,常见于在线视频分享平台。 要实现这个功能,我们通常会借助于外部工具或库,...

    java源码转换FLV

    Java源码转换FLV是一项技术任务,涉及到Java编程语言与多媒体处理,特别是视频格式转换。在给定的压缩包文件中,我们预期找到的是一个Java项目,它包含了用于将源代码转换为FLV(Flash Video)格式的工具或库。FLV是...

    Java视频转换FLV

    Java视频转换FLV是一项在IT领域中常见的任务,主要用于将不同格式的视频文件转换为FLV(Flash Video)格式,这种格式广泛应用于网络流媒体播放。在这个过程中,我们通常会用到开源工具FFmpeg,它是一个强大的命令行...

    用java程序调用ffmpeg执行视频文件格式转换flv

    在本文中,我们将深入探讨如何使用Java程序调用FFmpeg执行视频文件格式转换,特别是将非FFmpeg原生支持的格式转换为FLV格式。FFmpeg是一个强大的多媒体处理工具,支持多种视频、音频格式的编码、解码和转换。在这个...

    java调用ffmpeg转换视频格式为flv

    Java调用FFmpeg转换视频格式为FLV是一个常见的任务,特别是在开发媒体处理应用程序时。FFmpeg是一个强大的跨平台命令行工具,用于处理音频和视频文件,包括转换、编码、解码、分割等操作。在Java中,我们通常通过...

    java读取flv

    7. **FLV转换**: FLVConverter可能是提供的代码示例或工具,用于将FLV文件转换成其他格式。转换通常涉及解码原始FLV数据,然后使用不同的编码器将它们重新打包为新的格式,如MP4或WebM。 8. **学习资源**: 学习...

    Easy-FLV: Java 实现的 RTSP/RTMP 到 FLV 转换器

    Easy-FLV 是一个用 Java 实现的库,它能够将 RTSP 或 RTMP 视频流转换为 FLV 格式,以便在浏览器中播放。它为实时视频监控、直播和视频流处理提供了一个高效、稳定且易于集成的解决方案。高效转换:快速将视频流转换...

    纯java代码实现各种视频转flv格式,支持在线播放。

    本文将深入探讨如何使用纯Java代码实现视频转码至FLV(Flash Video)格式,并支持在线播放,而不依赖任何第三方库,从而确保高效、快速的转码过程。 首先,我们需要了解FLV格式。FLV是一种流行的网络流媒体格式,...

    JAVA 视频转码FLV

    综上所述,JAVA实现的视频转码到FLV及截图功能,涉及到了多媒体处理的核心技术,包括视频编码与解码、流媒体格式转换以及图像处理。掌握这些知识点对于开发网络视频服务或相关应用程序至关重要。

    Java实现文件格式转换代码实例

    本实例聚焦于Java如何实现AMR到MP3的转换,同时,该方法同样适用于其他类型的格式转换,如视频格式FLV转MP4。我们将探讨使用JAVE库、FTP协议以及Base64编码等相关技术。 首先,让我们深入了解JAVE(Java Audio ...

    java视频转换工具类(附带转换工具类)

    这个"java视频转换工具类"显然提供了这样的功能,能够将视频文件转换为不同的格式,如mp4、ogg和flv等。这些格式在互联网上广泛使用,mp4适合高清播放,ogg是开源且无版权的格式,而flv则常用于流媒体服务。 要实现...

    flv的视频转换和在线播放

    总结,"flv的视频转换和在线播放"涉及了视频编码、解码、流媒体技术以及使用Java进行多媒体处理的知识。`ConvertVideo.java`源码提供了实现这一过程的具体步骤,通过分析和学习这个代码,我们可以更好地理解如何在...

    javacv实现rtsp转flv用于网页前端播放验证可用

    本文将详细讲解如何使用JavaCV库将RTSP流转换为FLV格式,以便在网页前端进行播放,并验证了这种方法的可行性。 RTSP(Real Time Streaming Protocol)是一种用于控制实时数据传输的应用层协议,常用于IP监控设备,...

    java视频格式转换

    Java视频格式转换是一种常见的技术需求,特别是在开发网页流媒体服务时,为了使视频能在不同的浏览器或设备上流畅播放,往往需要将多种视频格式转化为统一的标准,例如FLV(Flash Video)。FLV是Adobe Flash Player...

    最简单的java调用FFmpeg转换视频格式为FLV的方法

    最简单的java调用FFmpeg转换视频格式为FLV的方法,在win下调用命令提示符。

    详解java调用ffmpeg转换视频格式为flv

    详解java调用ffmpeg转换视频格式为flv 注意:下面的程序是在Linux下运行的,如果在windows下rmvb转换成avi会出现问题,想成功需要下载下个drv43260.dll东西放到C:WindowsSystem32下面 这几天在写一个视频管理系统,...

    java实现rtsp/rtmp转m3u8/flv/hls/mp4等实现web直播和回放

    Java 实现 RTSP/RTMP 转 M3U8/FLV/HLS/MP4 是网络直播和视频回放的重要技术,它涉及到多种协议、工具和格式的交互。在这个场景下,Java 通常作为后端处理服务器,处理来自不同来源(如海康、大华等监控设备)的实时...

    java视频转换源码

    【Java视频转换源码解析】 Java作为一种广泛使用的编程语言,其在处理多媒体数据,特别是视频转换方面也有着广泛的应用。本篇文章将详细讲解基于Java的视频转换源码及其相关技术,帮助你理解如何利用Java进行视频...

    java调用视频转换工具ffmpeg.zip

    Java调用视频转换工具FFmpeg是一项常见的任务,特别是在多媒体处理和流媒体服务中。FFmpeg是一个强大的跨平台命令行工具,用于转换、流化、编辑和处理音频和视频文件。在Java应用程序中集成FFmpeg,可以实现灵活的...

    java实现rtsp/rtmp转m3u8/flv/hls/mp4等实现web直播和回放测

    总之,Java实现RTSP/RTMP到M3U8/FLV/HLS/MP4的转换是一项复杂但至关重要的工作,涵盖了音视频处理、网络协议、流媒体技术和Web开发等多个领域,它为用户提供了一种灵活且适应性强的在线直播和回放解决方案。

Global site tag (gtag.js) - Google Analytics