2010-09-17 97 views
11

我試圖通過FFMPEG將圖像序列轉換成mpeg電影,雖然我不斷收到一個錯誤,說它無法找到代碼參數(視頻:mjpeg)。谷歌搜索沒有帶來太多有用的信息。FFMPEG - 未找到編解碼器參數

 
ffmpeg -f image2 -i /tmp/img%03d.jpg video.mpgFFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al. 
    configuration: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static 
    libavutil  49.15. 0/49.15. 0 
    libavcodec 52.20. 1/52.20. 1 
    libavformat 52.31. 0/52.31. 0 
    libavdevice 52. 1. 0/52. 1. 0 
    libavfilter 0. 4. 0/0. 4. 0 
    libswscale  0. 7. 1/0. 7. 1 
    libpostproc 51. 2. 0/51. 2. 0 
    built on Mar 4 2010 12:35:30, gcc: 4.4.3 
[mjpeg @ 0x9069870]dqt: 16bit precision 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (c9) 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (cf) 
[mjpeg @ 0x9069870]only 8 bits/component accepted 
[mjpeg @ 0x9069870]dqt: 16bit precision 
[mjpeg @ 0x9069870]huffman table decode error 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (ca) 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (ce) 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (cb) 
[mjpeg @ 0x9069870]decode_sos: invalid len (60581) 
[mjpeg @ 0x9069870]only 8 bits/component accepted 
[mjpeg @ 0x9069870]decode_sos: invalid len (56833) 
[mjpeg @ 0x9069870]invalid id 207 
[mjpeg @ 0x9069870]mjpeg: unsupported coding type (cd) 
[mjpeg @ 0x9069870]huffman table decode error 
[image2 @ 0x90682c0]Could not find codec parameters (Video: mjpeg) 
/tmp/img%03d.jpg: could not find codec parameters 

圖像駐留在/ tmp目錄中,其名稱如img001.jpg和img002.jpg。

任何想法?

感謝 -Tanner

回答

5

有人here說,這是因爲MJPEG編碼解碼器不能真正被發現。他們建議從源代碼安裝它。我覺得它更有可能是沒有安裝mjpeg。我覺得有兩個解決方案。

  1. 你可以嘗試安裝該編解碼器,看看它是否有助於 MJpeg Download For Win
  2. 你可以嘗試迫使FFmpeg的將其導出到不同的編解碼 嘗試:ffmpeg的-f圖像2 -i的/ tmp/IMG% 03d.jpg -vcodec mpeg2video video.mpg
+0

我編譯從源代碼安裝它,我仍然得到錯誤。看起來好像MJPG與Windows不是一回事。我正在編譯並在Ubuntu機器上執行此操作。 – 2010-09-17 16:39:22

+0

我會嘗試使用-vcodec強制使用不同的編解碼器,至少要看它是否有效。 – 2010-09-17 20:10:39

+0

試過了,沒有任何改變。 – 2010-09-18 15:06:11

8

ffmpeg實際上試圖告訴你的是,你的文件具有jpeg的擴展名,但文件實際上是bmp或其他格式。

確保文件以jpeg編碼,問題就會消失。

1

試試這個:

ffmpeg -f image2 -i /tmp/img%03d.**jpeg** video.mpg 

其實,我有一個類似的問題在這裏..(和解決)。

我有一個名爲file-001,file-002等(.tiff文件)的圖像序列。我忘了給的擴展名「.TIFF」,所以當我跑的ffmpeg命令

ffmpeg -f image2 -i file-%03d.tiff video.mpg 

當我加入「.TIFF」擴展名重命名的文件它解決了我得到了一個錯誤。

3

可能需要指定輸入編解碼器的一系列圖像。注意-c:v gif除了在第二個例子中,要放置在輸入源之前:

$ ffmpeg -f image2 -i %03d.gif zzz.webm 
# Error: %03d.gif: could not find codec parameters 

$ ffmpeg -f image2 -c:v gif -i %03d.gif zzz.webm 
# Works! ffmpeg version 2.7 
+0

這是我看到您可以指定要使用的輸入編解碼器的第一個地方。它解決了我的類似問題。 – hazzey 2016-08-02 02:53:59