json - 我正在尝试将 'ffprobe'与Java或groovy一起使用

标签 json grails groovy ffprobe

根据我的理解,“ffprobe”将以JSON格式提供与文件相关的数据。因此,我已经在我的Ubuntu计算机中安装了ffprobe,但是我不知道如何使用Java / Grails访问ffprobe JSON响应。

预期回应格式:

{
    "format": {
        "filename": "/Users/karthick/Documents/videos/TestVideos/sample.ts",
        "nb_streams": 2,
        "nb_programs": 1,
        "format_name": "mpegts",
        "format_long_name": "MPEG-TS (MPEG-2 Transport Stream)",
        "start_time": "1.430800",
        "duration": "170.097489",
        "size": "80425836",
        "bit_rate": "3782576",
        "probe_score": 100
    }
}

这是我的常规代码
 def process = "ffprobe -v quiet -print_format json -show_format -show_streams HelloWorld.mpeg ".execute()             
        println "Found ${process.text}"
        render  process  as JSON

我能够获得过程对象,而我无法获得json响应

我应该将流程对象转换为json对象吗?

输出:

找到java.lang.UNIXProcess@75566697
org.codehaus.groovy.grails.web.converters.exceptions.ConverterException:使用类java.lang.UNIXProcess转换Bean时出错

最佳答案

Grails与此无关。 Groovy可以以非常简单的方式执行任意的shell命令:

"mkdir foo".execute()

或者,对于更高级的功能,您可以考虑使用ProcessBuilder。最终,您需要执行ffprobe,然后捕获要在应用程序中使用的JSON输出流。

关于json - 我正在尝试将 'ffprobe'与Java或groovy一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30194921/

相关文章:

rest - 将UrlMapping约束添加到VERB映射的url吗?

java - 在 Android api lvl 19 之前删除 JsonObeject

javascript - ObservableArray 中的第一个数组项

grails - Grails:检查域模型对象是用代码创建还是从数据库加载

inheritance - 你如何将 beforeInterceptors 链接在一起?

grails - 'cascading saves and edits'是什么意思?

java - 有没有办法使用 Gradle 将 Java/Groovy 与 Haskell 集成?

ios - Objective-C中如何解析JSON响应的数据?

json - 如何在node.js中指定本地机器的IP地址和端口号

grails - 我可以在 Grails 的接口(interface)类中使用 JAXRS 注释(例如 @Produces)吗