由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一个python下面popen的问题
相关主题
PyCharm里的Python启动的Process在等待按键,如何继续菜鸟请教个hadoop streaming job 的问题 (转载)
A question related to pipe编写支持CGI的web服务器大致原理 (转载)
Python有什么好的方法建two-way pipe?50伪币:请教perl代码差错的问题!多谢啦!
node.js child process: 怎样保证1个命令执行完了再执行下一个?请高人解释一下为啥这个输出总是"HELLO-ERR"
想实现一个简单的script language,用perl好做么?一个 perl 的 print 的初级问题
问一个vc++ 2008的问题node.js multer: Recursive process.nextTick detected
高人帮我看看一个简单的script,为什么nohup有问题? (转载)question about "popen" in C/C++
how can I get external program's result in C一个popen加gzip的问题
相关话题的讨论汇总
话题: popen话题: starttime话题: 问题话题: 读取话题: params
进入Programming版参与讨论
1 (共1页)
f*******o
发帖数: 88
1
也许对很多大牛来说是一个比较老的问题,不过对我来说是一个新问题。
起因是想从一个video文件在任意时间点读取图像出来。 最开始是用opencv实现的,在
一些文件上测试也没有问题。后来换了一批h264格式的video文件就有问题了,很多文
件读取不出来。 在网上查了一下后,换成用moviepy来读取。 但是现在有新的问题是
就是moviepy在读取有些video文件在初始化阶段就死锁了。 跟踪进去,发现问题主要
出现在:
s = self.proc.stdout.read(nbytes) 语句时。
这个之前还有一堆初始化的代码, 主要是调用ffmpeg来执行并声称一个pipe.
def initialize(self, starttime=0):
"""Opens the file, creates the pipe. """
self.close() # if any
if starttime != 0 :
offset = min(1, starttime)
i_arg = ['-ss', "%.06f" % (starttime - offset),
'-i', self.filename,
'-ss', "%.06f" % offset]
else:
i_arg = [ '-i', self.filename]
cmd = ([get_setting("FFMPEG_BINARY")]+ i_arg +
['-loglevel', 'error',
'-f', 'image2pipe',
"-pix_fmt", self.pix_fmt,
'-vcodec', 'rawvideo', '-'])
popen_params = {"bufsize": self.bufsize,
"stdout": sp.PIPE,
"stderr": sp.PIPE,
"stdin": DEVNULL}
if os.name == "nt":
popen_params["creationflags"] = 0x08000000
self.proc = sp.Popen(cmd, **popen_params)
网上查了一下,这是一个老问题了, 好像用popen.stdout.read 造成死锁很容易发生
,但是解决方法没有一个统一的说法。 不知道各位大牛有没有相关的经验,或者提供
别的解决方法也行。
另外,现在系统是在windows下用的,所有有些linux下面的解决方案也不适用。
1 (共1页)
进入Programming版参与讨论
相关主题
一个popen加gzip的问题想实现一个简单的script language,用perl好做么?
where is popen defined?问一个vc++ 2008的问题
How to debug "broken pipe" in linux programming ? (转载)高人帮我看看一个简单的script,为什么nohup有问题? (转载)
关于在c++ member function里用signal( )how can I get external program's result in C
PyCharm里的Python启动的Process在等待按键,如何继续菜鸟请教个hadoop streaming job 的问题 (转载)
A question related to pipe编写支持CGI的web服务器大致原理 (转载)
Python有什么好的方法建two-way pipe?50伪币:请教perl代码差错的问题!多谢啦!
node.js child process: 怎样保证1个命令执行完了再执行下一个?请高人解释一下为啥这个输出总是"HELLO-ERR"
相关话题的讨论汇总
话题: popen话题: starttime话题: 问题话题: 读取话题: params