`
zhanghenanjuly
  • 浏览: 3191 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何才能获取到Process

阅读更多
public class ConvertVideo {

private static String INPUT_PATH;  
    private static String OUTPUT_PATH;  
    private static String PROJECT_PATH;  
    private static HashMap<String, String> fileType;  
      
    static 
    {  
        fileType = new HashMap<String, String>();  
        fileType.put("avi", "true");  
        fileType.put("mpg", "true");  
        fileType.put("wmv", "true");  
        fileType.put("3gp", "true");  
        fileType.put("mov", "true");  
        fileType.put("mp4", "true");  
        fileType.put("asf", "true");  
        fileType.put("asx", "true");  
       fileType.put("flv", "true");  
    }  
      
    public static void convertToFLV(String projectPath, String inputFile, String outputFile)  
    {  
        INPUT_PATH = inputFile;  
        OUTPUT_PATH = outputFile;  
        PROJECT_PATH = projectPath;  
        if (checkContentType())  
            processFLV();// 直接将文件转为flv文件  
    }  
 
    private static boolean checkContentType()  
    {  
        String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1, INPUT_PATH.length()).toLowerCase();  
        // ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)  
        return "true".equals(fileType.get(type));  
    }  
 
    private static void processFLV()  
   {  
        if (new File(INPUT_PATH).isFile())  
        {  
            try 
            {  
                String cmd = "cmd /c start F:\\project\\abc\\ffmpeg.bat \"" + PROJECT_PATH + "\" \"" + INPUT_PATH + "\" \"" + OUTPUT_PATH +"\"";  
                System.out.println(cmd);
                Process process = Runtime.getRuntime().exec(cmd);
                InputStream is = process.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
                System.out.println(bis);
                int data;
                while((data=bis.read())!=-1){
                System.out.println(data);
                }
                if(data==-1){
                System.out.println("data==null");
                }
            }  
            catch (Exception e)  
            {  
               e.printStackTrace();  
            }  
        }  
    } 
    public static void main(String[] args)  
    {  
        ConvertVideo.convertToFLV("F:\\project\\abc" ,"c:\\3.mpg", "f:\\03.mpg");  
    }

}

用ffmpeg为视频添加logo,但是始终获取不到process的值?转出来的文件确定是有logo的。
0
0
分享到:
评论

相关推荐

    processv34.zip

    这些附录只有在电子书版本中才能以电子方式获得。但是,此文档的附录描述了自本书出版以来增加的功能,可在此处以PDF格式获得。 注意:MacOS“ Catalina”用户: 最新版本的MacOS中存在一个与文件访问权限相关的...

    KillProcess.rar

    3. `Process.CloseMainWindow()`: 如果进程有一个主窗口,这个方法会发送一个WM_CLOSE消息到该窗口,提示进程关闭自己。这种方法相对温和,给予进程关闭自身的机会,比如保存数据、清理资源等。 4. `Process.Kill()...

    getprocesspath

    `getprocesspath`是一个用于获取进程完整路径的技术,它主要基于Windows NT内核提供的函数NtQueryInformationProcess。这个函数允许我们查询进程的各种信息,包括进程ID、基地址、访问权限等,其中就包含进程的启动...

    获取其他进程ID和控件句柄

    首先,调用`CreateToolhelp32Snapshot`,传入`TH32CS_SNAPPROCESS`标志以获取进程快照,然后通过循环遍历`Process32First`和`Process32Next`返回的结构体,其中的`th32ProcessID`字段就是进程ID。此外,还可以使用`...

    KillProcess_VC编写的任务管理器_

    通过这些函数,程序可以获取到进程ID、进程名等信息,然后填充到用户界面中展示。 在用户界面设计上,KillProcess可能包含一个进程列表,展示每个进程的名称、PID和资源使用情况。用户可以选中目标进程,然后点击...

    System.ServiceProcess.dll(using System.ServiceProcess;)

    导入命名空间后,就可以访问到这个库提供的各种服务操作功能。 在System.ServiceProcess命名空间中,最重要的类之一是`ServiceController`。这个类充当了客户端和服务之间的桥梁,允许开发者在应用程序中控制已安装...

    获取单个进程CPU使用率

    在Windows操作系统中,获取单个进程的CPU使用率和内存使用率是系统监控的重要部分,这对于性能分析、问题排查和资源管理来说非常关键。...请注意,这些方法都需要具备相应的系统权限才能正确获取进程信息。

    windows ce remote process explorer

    5. **崩溃地址定位**:在发生系统崩溃时,RPE能帮助开发者获取崩溃时的内存地址,并通过反汇编将该地址映射到源代码行,极大地简化了故障排除过程。 二、应用实例 1. **性能优化**:当系统响应变慢时,RPE可以帮助...

    Windows编程-Process的调用

    2. **GetProcessId()**:用于获取指定进程的唯一标识符,通常用于跟踪和管理进程。 3. **WaitForSingleObject()** 和 **WaitForMultipleObjects()**:这些函数用于暂停当前线程,直到指定的进程或事件完成。 4. **...

    VB获取硬件信息

    此外,获取硬件信息时应考虑到权限问题,某些操作可能需要管理员权限才能执行。在编写这类程序时,确保添加适当的错误处理机制,以应对可能出现的问题,比如用户拒绝访问或者硬件信息无法读取等情况。

    C#中获取系统当前所有进程

    在C#编程环境中,我们可以利用.NET Framework提供的System.Diagnostics命名空间中的Process类来获取并管理操作系统中的进程信息。本文将深入探讨如何使用C#获取系统当前的所有进程,以及这些信息的详细含义。 首先...

    ProcessMonitor_delphi_

    标题"ProcessMonitor_delphi_"暗示了我们将讨论如何使用Delphi来获取和监控Windows系统中的进程信息。这通常涉及到操作系统级别的编程,尤其是系统监控和调试。 Delphi中实现这个功能,我们可以利用Windows API...

    android apk获取root权限方法总结

    这一方法只能使 APK 的权限升级到 system 级别,但不能访问系统中需要 Root 权限才能执行的文件或程序。 方法二:使用 exec 函数族 在 Linux 编程中,我们可以使用 exec 函数族来执行 su 命令,从而获取 Root 权限...

    获取系统运行的所有程序

    5. **权限管理**: 在访问WMI时,可能需要管理员权限才能获取所有进程信息。如果VB应用没有足够的权限,可能会遇到访问被拒绝的错误。确保以适当的身份运行程序或者处理可能出现的权限问题。 6. **代码示例**: 一个...

    SPSS插件-Process.zip

    7. "Process" 文件可能就是实际的SPSS插件文件,用户需要按照安装指南将其导入SPSS才能使用。 总的来说,"SPSS插件-Process.zip" 提供了一个增强SPSS功能的工具,版本2.16暗示了它可能包含一系列改进和新特性。用户...

    C#获取Windows系统服务信息

    通过服务的名称,我们可以获取到服务的相关信息。例如,如果我们想获取名为"Spooler"的打印服务,代码如下: ```csharp ServiceController service = new ServiceController("Spooler"); ``` `ServiceController`...

    获取进程用户名.txt

    需要注意的是,在实际应用中还需要考虑到权限问题,例如某些系统服务可能需要管理员权限才能获取其信息。此外,由于涉及到Windows底层API的使用,建议开发者在实践中多加测试,确保代码的稳定性和兼容性。

    获取系统进程列表

    `Process32First`用于获取第一个进程信息,`Process32Next`则用于获取下一个进程信息,直至遍历结束。 3. **TH32CS_SNAPPROCESS**: 这是一个常量,表示我们对进程快照的兴趣。在调用`CreateToolhelp32Snapshot`时,...

    Java Process Manager

    在Java Process Manager的上下文中,开发人员会使用SDK中的函数和接口来获取和操作进程信息,如进程ID、内存使用情况、CPU占用率等。 Java Task Manager的核心功能可能包括: 1. **进程管理**:列出所有运行的Java...

    解决docker报错chown socket at step GROUP No such process

    这个问题可能是由于Docker守护进程在启动时无法识别或访问到预设的用户组,通常与Docker的用户组设置有关。 首先,我们需要理解Docker的工作原理。Docker使用了一个名为`docker`的系统用户和用户组来管理其守护进程...

Global site tag (gtag.js) - Google Analytics