2013-01-12 114 views
0
ffmpeg -f image2 -r 15 -i images/img%03d.jpg -vcodec libx264 video.mp4 

我運行此代碼與執行在PHP中。FFMPEG - 圖像到視頻

我沒有得到輸出。 video.mp4是空白的。

但是如果我修改此commade到這樣的事情,

ffmpeg -f image2 -i i.jpg -vcodec libx264 -t 15 video.mp4 

視頻運行15秒。我想嘗試-r 1/15。它不工作。 我在哪裏做錯了?

<?php 
$command = "/usr/bin/ffmpeg -f image2 -r 15 -i images/img%03d.jpg -vcodec libx264 video.mp4"; 
exec($command); 
?> 

圖片文件夾中有img001.jpg img002.jpg ... img005.jpg

Array 
(
[0] => ffmpeg version N-48645-gf3c9d8d Copyright (c) 2000-2013 the FFmpeg developers 
[1] => built on Jan 9 2013 04:08:32 with gcc 4.7 (Debian 4.7.2-5) 
[2] => configuration: --extra-cflags=-I../static/include --extra-ldflags='-L../static/lib -static' --enable-gpl --enable-version3 --enable-static --disable-shared --disable-debug --enable-runtime-cpudetect --disable-x11grab --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver 
[3] => libavutil  52. 13.100/52. 13.100 
[4] => libavcodec  54. 86.100/54. 86.100 
[5] => libavformat 54. 59.106/54. 59.106 
[6] => libavdevice 54. 3.102/54. 3.102 
[7] => libavfilter  3. 32.100/3. 32.100 
[8] => libswscale  2. 1.103/2. 1.103 
[9] => libswresample 0. 17.102/0. 17.102 
[10] => libpostproc 52. 2.100/52. 2.100 
[11] => Input #0, image2, from 'images/img%03d.jpg': 
[12] => Duration: 00:00:45.00, start: 0.000000, bitrate: N/A 
[13] =>  Stream #0:0: Video: mjpeg, yuvj420p, 200x300 [SAR 1:1 DAR 2:3], 0.07 fps, 0.33 tbr, 0.07 tbn, 0.07 tbc 
[14] => [libx264 @ 0x3283080] using SAR=1/1 
[15] => [libx264 @ 0x3283080] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX 
[16] => [libx264 @ 0x3283080] profile High, level 1.2 
[17] => [libx264 @ 0x3283080] 264 - core 129 r2230 1cffe9f - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
[18] => Output #0, mp4, to 'videos/video.mp4': 
[19] => Metadata: 
[20] =>  encoder   : Lavf54.59.106 
[21] =>  Stream #0:0: Video: h264 ([33][0][0][0]/0x0021), yuvj420p, 200x300 [SAR 1:1 DAR 2:3], q=-1--1, 16384 tbn, 0.07 tbc 
[22] => Stream mapping: 
[23] => Stream #0:0 -> #0:0 (mjpeg -> libx264) 
[24] => Press [q] to stop, [?] for help 
[25] => Input stream #0:0 frame changed from size:200x300 fmt:yuvj420p to size:200x300 fmt:yuvj444p 
[26] => frame= 3 fps=0.0 q=-1.0 Lsize=  43kB time=00:00:15.00 bitrate= 23.2kbits/s 
[27] => video:42kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.912722% 
[28] => [libx264 @ 0x3283080] frame I:1  Avg QP:18.97 size: 13250 
[29] => [libx264 @ 0x3283080] frame P:2  Avg QP:18.68 size: 14368 
[30] => [libx264 @ 0x3283080] mb I I16..4: 0.8% 81.4% 17.8% 
[31] => [libx264 @ 0x3283080] mb P I16..4: 0.0% 84.8% 15.2% P16..4: 0.0% 0.0% 0.0% 0.0% 0.0% skip: 0.0% 
[32] => [libx264 @ 0x3283080] 8x8 transform intra:83.7% 
[33] => [libx264 @ 0x3283080] coded y,uvDC,uvAC intra: 96.4% 99.2% 97.6% 
[34] => [libx264 @ 0x3283080] i16 v,h,dc,p: 0% 0% 100% 0% 
[35] => [libx264 @ 0x3283080] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 13% 5% 8% 11% 8% 10% 7% 
[36] => [libx264 @ 0x3283080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 14% 9% 7% 9% 13% 8% 7% 7% 
[37] => [libx264 @ 0x3283080] i8c dc,h,v,p: 45% 17% 26% 12% 
[38] => [libx264 @ 0x3283080] Weighted P-Frames: Y:0.0% UV:0.0% 
[39] => [libx264 @ 0x3283080] kb/s:7.46 

+0

請問您的文件名真的有一個百分號嗎? – Brad

+0

請發佈PHP,因爲引用是明顯的 –

+0

我在問題 – Mahesh

回答

1

嘗試使用

-loop 1

-r 1/4

,看看有什麼u得到那麼

+0

如果我添加-loop 1,腳本沒有完成其執行。頁面持續加載很長時間。-r 1/4單獨不生產視頻。我在vlc中測試mp4。 – Mahesh

+0

持續時間:00:00:12.00,開始:0.000000,比特率:N/A:比特率是N/A。是否有問題? – Mahesh

+0

我給了你1分的答案,因爲他們是最重要的選項來創建幻燈片,但他們不工作! – Mahesh

0

強制幀速率兩個輸入(前-I)和輸出(輸出文件名前)當您使用原始輸入文件僅適用可靠,比如h.264比特流,你明確需要告訴FFmpeg你期望的幀速率。

你應該用圖像2的實際選擇是-framerate:

的ffmpeg -framerate 25 -i thum-%04d.jpg -r 25 -c:v libx264 out1.mp4