所以我有一个脚本从网络上抓取一堆图像,然后将它们转换成电影。然而,当我运行它时,我遇到了一大堆错误。
首先让我展示一下我正在运行的内容然后我会发布错误,因为它很大:
#for gif
#call('convert -set delay 5 -loop 0 ' + folder + '*.jpg ' + name + '.gif', shell=True)
#for mov
#call('convert -quality 100 ' + folder + '*.jpg ' + name + '.mov', shell=True)
#for organized movie
call('ffmpeg -r 10 -b 1800 -i ' + folder + '%0' + str(size) + 'd.jpg ' + name + '.mp4', shell=True)
所以注释掉的版本工作正常,但我需要使用第3版!以下是我从ffmpeg得到的回复:
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
built on Mar 31 2013 21:55:33 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-libtheora --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libspeex --enable-libfreetype --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
libavutil 52. 18.100 / 52. 18.100
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.104 / 54. 63.104
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 42.103 / 3. 42.103
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Please use -b:a or -b:v, -b is ambiguous
[mjpeg @ 0x7f8cc402a800] [IMGUTILS @ 0x7fff5a680ae0] Picture size 10835x53928 is invalid
Last message repeated 26 times
[mjpeg @ 0x7f8cc402a800] Found EOI before any SOF, ignoring
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (cf)
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (c8)
[mjpeg @ 0x7f8cc402a800] [IMGUTILS @ 0x7fff5a680ae0] Picture size 54310x53928 is invalid
[mjpeg @ 0x7f8cc402a800] only 8 bits/component accepted
Last message repeated 8 times
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (c5)
[mjpeg @ 0x7f8cc402a800] [IMGUTILS @ 0x7fff5a680ae0] Picture size 10835x53928 is invalid
Last message repeated 12 times
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (cf)
[mjpeg @ 0x7f8cc402a800] only 8 bits/component accepted
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (cf)
[mjpeg @ 0x7f8cc402a800] only 8 bits/component accepted
[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (cf)
[mjpeg @ 0x7f8cc402a800] only 8 bits/component accepted
[image2 @ 0x7f8cc4029c00] decoding for stream 0 failed
[image2 @ 0x7f8cc4029c00] Could not find codec parameters for stream 0 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
/Users/ryansaxe/Desktop/kaggle_parkinsons/MOVIES/%03d.jpg: could not find codec parameters
注意:[mjpeg @ 0x7f8cc402a800] mjpeg: unsupported coding type (cf)
[mjpeg @ 0x7f8cc402a800] only 8 bits/component accepted
重复约30次,但我将它从追溯中删除,因为它是压倒性的。
问题:我做错了什么以及如何解决?
编辑:
我使用urllib python库的urlretrieve下载jpeg文件。这是我保存它们的方式:
for src,name in zip(urls,range(len(urls))):
file_name = folder + str(name) + '.jpg'
urlretrieve(src, file_name)
答案 0 :(得分:0)
首先,添加以下行:
print('ffmpeg -r 10 -b 1800 -i ' + folder + '%0' + str(size) + 'd.jpg ' + name + '.mp4')
在call
之前。
其次,从shell运行此行。从那里调试。
细分问题会有所帮助。