【发布时间】:2015-11-24 12:40:47
【问题描述】:
我需要为 Django 应用程序获取视频的持续时间。所以我必须在python中做到这一点。但我真的是这方面的初学者。如果您能提供帮助,那就太好了。
这是我目前得到的:
import subprocess
task = subprocess.Popen("avconv -i video.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed -r 's/([^\.]*)\..*/\1/'", shell=True, stdout=subprocess.PIPE)
time = task.communicate()[0]
print time
我想用 avconv 解决它,因为我已经在另一个时候使用它了。到目前为止,shell-command 运行良好,并为我提供了如下输出: HH:MM:SS。
但是当我执行 python 代码时,我只是在 shell 上得到一个不可解释的符号。
非常感谢您的帮助!
找到了解决办法。问题是 sed 部分:
import os
import subprocess
task = subprocess.Popen("avconv -i video.mp4 2>&1 | grep Duration | cut -d ' ' -f 4 | sed -e 's/.\{4\}$//'", shell=True, stdout=subprocess.PIPE)
time = task.communicate()[0]
print time
因为都是同一个部分,剪掉最后4个字符就够了。
【问题讨论】:
标签: python django shell video duration