当前位置: 首页 > 知识库问答 >
问题:

如何知道在Ruby中ffmpeg转换是否成功?

郭彬郁
2023-03-14
# Convert to MP3
conversion_result = `ffmpeg -i "#{Refile::cache.directory}/#{self.file.id}" -f mp3 "#{_path_to_mp3}" 2>&1`

handler_name:SoundHandle\n输出#0,mp3,to'/tmp/voice00045.mp3':\n元数据:\n major_brand:3gp4\n minor_version:0\n compatible_brands:isom3gp4\n TSSE:lavf56.40.101\n Stream#0:0(eng):audio:mp3(libmp3lame),44100 Hz,mono,fltp(默认)\n元数据:\n creation_time:2015-09-01 16:34:01\n:0->#0:0(aac(本机)->mp3(libmp3lame))\n按[q]停止,[?]有关帮助\nsize=67KB时间=00:00:08.56位=64.5 Kbits/s\n视频:0KB音频:67KB字幕:0KB其他流:0KB全局标头:0KB muxing开销:0.465427%\n“

如何确保命令执行后转换成功?

共有1个答案

夹谷英奕
2023-03-14

您需要命令的全文输出吗?

因为如果没有,我建议您使用system命令,如果命令以退出代码0(成功)终止,则返回true,如果失败,则返回false或nil。

conversion_success = system %Q[ffmpeg -i "#{Refile::cache.directory}/#{self.file.id}" -f mp3 "#{_path_to_mp3}" 2>&1]

请注意,在本例中,我对字符串使用了%q[...]以避免必须转义,同时还可以对命令进行字符串插值。

 类似资料:
  • 问题内容: 即使文件在远程http服务器上不存在,它也会以静默方式返回,它只是将html页面保存到命名文件中。例如: 即使abc.jpg在google.com服务器上不存在,它只是默默返回,生成的不是有效的jpg文件,它实际上是html页面。我猜返回的标头(一个httplib.HTTPMessage实例)可以用来实际上告诉检索是否成功,但是我找不到的任何文档。 有人可以提供有关此问题的一些信息吗?

  • 我现在正在阅读日志,试图理解为什么两台设备无法通过蓝牙连接。有没有办法通过读取logcat来知道这两个设备是否成功配对?我没有带设备,只是通过阅读日志来了解情况。 也许我应该寻找。这些状态在某处有定义吗?

  • 问题内容: 我正在使用PDO插入记录(mysql和php) 有没有办法知道它是否成功插入,例如,是否由于重复而没有插入记录? 编辑:当然,我可以查看数据库,但是我的意思是程序反馈。 问题答案: 成功返回true。还有,你可以检查错误。

  • 问题内容: 我正在尝试使用JDBC在Oracle 11g数据库上执行DDL语句。我现在用的是这样做的的类。 以下是执行查询并尝试确定查询结果的代码段: 我不是数据库专家,但是是否存在DDL语句执行失败且不引发的情况?如果没有,则无需捕获execute方法返回的内容。缺少表示DDL语句成功执行。 我正在关注的教程建议对DDL语句使用此方法: 尽管Jdbc文档建议使用来执行DDL语句。两者中哪一个更可

  • 问题内容: 我有一个表格,基本上是上传一个文件。我要提交两次表格,第1次不包含多部分,第二次1次包含多部分。 但是我想先检查一下第一次提交表单是否成功,然后再进行第二次提交 引用@Vern后编辑 这是我的servlet部分。我在哪里确定它是否由多个部分组成。如果未将 resultType 存储到会话变量中,则返回, 现在,我要检查此“已 提交 ”或类似内容,然后第二次提交表格。 第二表单提交:在这

  • 本文向大家介绍如何知道是否在Javascript集中搜索值?,包括了如何知道是否在Javascript集中搜索值?的使用技巧和注意事项,需要的朋友参考一下 JavaScript中的Set类提供了一个has方法来搜索给定set对象中的元素。此方法可以如下使用- 示例 输出结果