为什么从 python 调用 ffmpeg 会阻塞?

2023-12-24

我尝试了 3 种方法从 python 调用 ffmpeg,但它总是阻塞并且不返回任何结果。

但是,如果我从 shell 执行它,它就会起作用。

For eg:

/usr/bin/ffmpeg -y  -i /tmp/uploadedfiles/movie8_15_10s.mpg -ar 1600 -ac 1  /tmp/uploadedfiles/movie8_15_10s.mpg.wav

这有效。

However,

 ffmpeg_command = "/usr/bin/ffmpeg -y  -i test.wav testout.wav" 
 f_ffmpeg=os.popen(ffmpeg_command);

这使得蟒蛇挂起。


你应该使用subprocess.Popen http://docs.python.org/library/subprocess.html#subprocess.Popen代替os.popen.

特别是,为了获得相同的行为,您可以通过 shell 运行该进程shell=True并收集输出stdout and stderr如下:

p = subprocess.Popen(command, shell=True,
                     stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output = p.communicate()[0]

where command与您在 shell 中编写的命令行相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么从 python 调用 ffmpeg 会阻塞? 的相关文章

  • 默认情况下在 Jupyter 笔记本中配置第一个单元

    有没有办法为 Jupyter 笔记本中的特定 python 内核配置默认的第一个单元 我同意默认的 python 导入违背了良好的编码实践 那么 我可以配置笔记本 使新的 python 笔记本的第一个单元始终是 import numpy a
  • Python的unpack中的逗号是什么意思?

    我们可以简单地使用 crc struct unpack gt i data 为什么人们这样写 crc struct unpack gt i data 逗号是什么意思 第一个变体返回一个单元素元组 In 13 crc struct unpac
  • Ajax 调用后使用 Django 模板呈现 JSON 对象

    我一直在尝试了解什么是最佳方法Ajax http en wikipedia org wiki Ajax 28programming 29 in Django http en wikipedia org wiki Django 28web f
  • Python动态导入脚本,需要有其__name__ == "__main__"代码才能被调用

    当从另一个脚本导入 python 脚本时 我想要受经典保护的脚本代码 if name main 要运行 我怎样才能运行该代码 我想做的是从 python 脚本动态更改模块 然后导入现有脚本 该脚本应该看到所做的更改并运行其 main 像Py
  • 从终端调用时 uvicorn 不工作

    我尝试通过 pip3 在系统上安装 uvicorn 这有效 但是我无法从命令行运行相同的命令 有关如何解决此问题的任何指示 Requirement already satisfied uvicorn in home vhawk19 loca
  • Python 可以使用单独的媒体播放器打开 mp3 文件吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以开一个mp3Python 中的文件 可以使用Popen 我并不是要在程序中运行它 我的意思是作为媒体播放器中的一个单独窗口或其
  • 如何更改条形图上的 y 轴限制?

    我有一个df 我从中索引了europe n我绘制了一个条形图 europe n r 5 c 45 looks like this df Country string df Population numeric 变量 plt bar df C
  • Python MySQL 模块

    我正在开发一个需要与 MySQL 数据库交互的 Web 应用程序 但我似乎找不到任何真正适合 Python 的模块 我特别寻找快速模块 能够处理数十万个连接 和查询 所有这些都在短时间内完成 而不会对速度产生重大影响 我想我的答案将是游戏领
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • 如何最好地将包含列表或元组的 Pandas 列提取到多个列中[重复]

    这个问题在这里已经有答案了 我不小心用错误重复的链接关闭了这个问题 这是正确的 Pandas 将列表的列拆分为多列 https stackoverflow com questions 35491274 pandas split column
  • Python变量赋值问题

    a b 0 1 while b lt 50 print b a b b a b 输出 1 2 4 8 16 32 wheras a b 0 1 while b lt 50 print b a b b a b 输出 正确的斐波那契数列 1 1
  • 字母表中的加密和解密 - Python GCSE

    我目前正在尝试为学校编写一个程序 以便加密和解密输入的消息 我需要加密或解密的消息仅在字母表中 没有其他符号或密钥 例如 使用消息车加密输入的偏移量为 5 我希望它输出 afs 有人可以帮忙吗 这是我目前的代码 def find offse
  • 将数据框列打包到 pandas 中列出

    我需要将 pandas DataFrame 列打包到包含列表的一列中 例子 For gt gt gt df a b c 0 81 88 1 1 42 7 23 2 8 37 63 3 18 22 20 制作列表栏 list col 0 81
  • 具有条件的重复行 pandas dataframe python

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • Tornado websocket handler , self.close() 正在关闭连接而不触发 on_close() 方法

    我是 python stackoverflow tornado 的新手 所以请耐心等待 纠正我 我正在使用龙卷风开发实时应用程序 当我在 Websocket 处理程序类中调用 self close 时 on close 方法不会启动 这次我
  • 从 sublime_plugin.WindowCommand 获取当前文件名

    我开发插件sublime text 3 并想要获取当前打开的文件路径 absolute1 self window view file name 在哪里self is sublime plugin WindowCommand 但失败了 Att
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip
  • 在 python 中使用递归替代 len()

    作为 CS1301 问题的一部分 我正在尝试使用递归编写一个函数 该函数将执行与 len 完全相同的操作 但是 我有两个问题 我正在使用全局变量 但我在课程中还没有学到这一点 cs1301 自动评分器告诉我 我的函数返回 26 而不是 13
  • 将 pandas 数据框中的多列更改为日期时间

    我有一个 13 列和 55 000 行的数据框 我正在尝试将其中 5 行转换为日期时间 现在它们返回类型 对象 我需要转换这些数据以进行机器学习 我知道如果我这样做 data birth date pd to datetime data b

随机推荐

  • useSWR 不适用于异步获取器功能

    我正在使用 SWR 获取数据来填充表 我正在使用以下代码 const data items error useSWR fetchAllItems name fetchAllItems fetcher 函数看起来像这样 async funct
  • graphql查询SQL父子关系

    我有一个 postgres 表 它表示具有父子表的层次结构 表 类别 id name parentId 1 CatA null 2 CatB null 3 CatC 1 4 CatD 1 5 CatE 3 期望的结果 categories
  • 如何使用字典从嵌套 json 创建 pandas 数据框

    我正在尝试创建一个 pandas 数据框形式的 json 文件 我已经看到了这个问题的多种解决方案 它们使用内置函数 from dict json normalize 但我无法将其应用到我的代码中 以下是我的数据在 json 文件中的结构
  • DotNetOpenAuth:如何实现一个简单的 OpenId 提供程序?

    每个 OpenId 提供商都有一个提供商 Url 例如 Google https www google com accounts o8 id https www google com accounts o8 id Using OpenIdR
  • 如何在表单中放置两个提交按钮

    我在一种表单中有两个提交按钮 我想在两个按钮中调用不同的操作 有没有什么方法可以在不使用 JavaScript 的情况下完成此任务 如果没有 JavaScript 就不可能调用不同的操作 您可以调用相同的控制器操作 并在该操作内使用 nam
  • Apache POI XWPF:如何创建一组线?

    我是 Poi 的新手 我尝试用画线制作一组形状复合材料 在 LibreOffice 文档上我可以制作 但使用 Poi 似乎更困难 例子 里面没有关于形状的内容apache poi s XWPF除了到目前为止的图表 但是还有com micro
  • 循环遍历 Ruby on Rails 中的对象属性

    Rails 中是否可以循环对象的属性 我有一个对象 而不是对视图中的每个属性进行编码 我想在视图中输出它们中的每个属性 因为它们有很多 我有一个名为 work profile它有很多属性 主要是布尔复选框值 编辑 我知道我可以使用 work
  • 如何在专注于开发工具的同时在 Electron 应用程序中切换开发工具?

    我想让我的 Electron 应用程序切换开发人员工具以响应 F12 在渲染器页面中 我添加了 const currentWebContents require electron remote getCurrentWebContents w
  • 书店应用程序的推荐系统

    嘿 我正在尝试学习 Amazon com 等网站中使用的一些推荐算法 所以我有这个简单的 java spring hibernate postgres 书店应用程序 其中 Book 具有属性标题 类别 标签 作者 为了简单起见 书中没有任何
  • 在 R 中的 .Options$repos 中列出多个存储库有何影响或价值?

    我注意到这个答案 https stackoverflow com questions 1189759 expert r users whats in your rprofile 1349232 1349232关于 Rprofile 设置的问
  • 什么是文档类型?

    什么是 DOCTYPE 为什么要使用它 我可以使用哪些不同的 DOCTYPE 标准模式和怪癖模式之间有什么区别 使用不同设置的 DOCTYPE 可能会遇到哪些怪癖 最后 我应该使用的正确 DOCTYPE 是什么 基本上 DOCTYPE 描述
  • 此场景的 GUID/UUID?还是复合键?或其他

    我目前正在开发一个系统 在某些情况下 该系统需要白天在本地数据库上运行 然后在晚上复制到中央服务器 它cannot所有这些都从一个中央数据库运行 因为本地站点会定期与该数据库失去联系 中央服务器上的数据用于仅查看和报告在总部 因此不需要将任
  • 未定义的方法“link_to”

    我正在编写一个 ruby on rails 库模块 module Facets class Facet attr accessor name display name category group special URI controlle
  • iOS 7 中文本字段的弹出/模式选择器

    我在弄清楚如何实现标准弹出选择器时遇到了很多麻烦 就像许多应用程序的注册屏幕一样 当用户选择生日文本字段时 我希望出现一个弹出选择器 以便用户可以选择他们的生日 单击完成 格式化日期将添加到文本字段 这似乎并不那么困难 但在 iOS 7 中
  • 如何使用新的 Google Analytics 在 PHP 中获取当前访问者的引荐来源网址、付费/自然和关键字?

    我想了解访问者如何访问我的网站的信息 在 Google Analytics 的早期版本中 您可以使用他们的 cookie 参见例如使用 Google Analytics 获取当前访问者的引荐来源网址 付费 自然和关键字 https stac
  • 提交后的 mvc3 复选框值

    我有一个包含 2 个字段的表单 一个下拉列表和一个复选框 我一切正常 但由于某种原因 如果选中这是我的代码 我无法获取复选框的值 HttpPost public ActionResult view string pick switch pi
  • 切换 UITextView 中的 selectedRange 属性

    我创建了一个按钮 我想检查是否选择了文本 然后在点击时在 selectedRange 上切换粗体和非粗体 目前 我的代码只会将 selectedRange 更改为粗体 我无法撤消它或检查是否有选择 我怎样才能实现这个目标 func bold
  • Meteor.js - 在多个集合上进行用户搜索的方法

    关于如何在 Meteor 应用程序中设置集合 我遇到了一些困境 用户搜索栏是我的应用程序的核心部分 用户需要能够输入一个搜索并在多个不同的集合中获得结果 user query foo var query foo var actors res
  • 经典的asp存储过程参数

    我一直在研究如何从经典 asp 调用存储过程并将参数传递给它 下面是我的存储过程 它工作得很好 CREATE PROCEDURE Paging Movies alphaChar char 1 AS if alphaChar select f
  • 为什么从 python 调用 ffmpeg 会阻塞?

    我尝试了 3 种方法从 python 调用 ffmpeg 但它总是阻塞并且不返回任何结果 但是 如果我从 shell 执行它 它就会起作用 For eg usr bin ffmpeg y i tmp uploadedfiles movie8