Я пытаюсь конвертировать видео файлы, используя 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