Django Celery FFMPEG:转换视频文件

2024-09-29 23:16:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试通过芹菜任务使用FFMPEG转换视频文件。生成的要执行的命令如下所示

ffmpeg -i /path/to/flv -ar 22050 -ab 96k -r 24 -b 600k -f flv path/to/flv/transcoded/flv_movie.flv

当我调用任务TranscodeVideoTask.delay(src=filepath, dst=destination_path) 我得到flv_movie.flv文件,但它的大小只有200Kb和调试输出

^{pr2}$

代码转换任务源

@task(name="transcode.media")
def TranscodeVideoTask(src, dst):
    command = commands.get("flv") % {"src": src, "dst": dst}
    os.system(src, dst)
    filename = os.path.join(dst, "flv_movie.flv")
    YamdiInjector.yamdi(filename, dst)

当同一个命令在控制台中手动执行时,它可以正常工作。在

UPDATE 到目前为止,我在bash文件中编写了以下ffmpeg指令,它几乎转换了我已经测试过的每个avi文件

#!/bin/sh
INPUT=$1
OUTPUT=$2/flv_movie.flv

echo "Input file: ${INPUT}"
echo "Output file: ${OUTPUT}"
echo `ffmpeg -y -i $INPUT -ar 44100 -ab 128k -ac 2 -sameq -f flv $OUTPUT`

是什么引起了这个奇怪的问题?在

苏丹


Tags: 文件topath命令echosrcinputoutput

热门问题