Django Celery FFMPEG: конвертировать видео файлы - PullRequest
1 голос
/ 02 января 2012

Я пытаюсь конвертировать видео файлы, используя FFMPEG через задачи Celery. Сгенерированная команда, которая будет выполнена, выглядит как

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 и вывод отладки

Press [q] to stop, [?] for help
[h264 @ 0x10205a200] Reference 3 >= 3
[h264 @ 0x10205a200] error while decoding MB 7 5, bytestream (690)
[h264 @ 0x10205a200] concealing 762 DC, 762 AC, 762 MV errors
frame=   40 fps=  0 q=2.0 Lsize=     136kB time=00:00:01.66 bitrate= 668.2kbits/s dup=0 drop=9    
video:114kB audio:20kB global headers:0kB muxing overhead 1.814991%

Источник TranscodeVideoTask

@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 До сих пор я собрал следующие инструкции ffmpeg в своем bash-файле, и он конвертирует почти все 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`

Что может вызвать эту странную проблему?

Sultan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...