2016-03-25 99 views
0

我使用FFMPEG在Android上使用下面的lib:http://writingminds.github.io/ffmpeg-android-java/FFMPEG規模和作物單一命令

這是我使用的命令:

"-i " + path + " -vf scale=480:360,crop=360:360:0:00 -strict -2 -preset ultrafast " + fileOutPath 

我的這個目標是擴展將圖像降至480x360,然後從(0,0)(左上角)將其裁剪爲360x360。然而,最終發生的是它從垂直中心收穫。舉個例子,如果你要在整個屏幕上拍攝三塊互相重疊的圖塊,作物最終將顯示出中間塊,而我希望上塊。

任何想法,我做錯了什麼?

我的最終目標是獲得360x360大小的方形視頻。

輸出日誌:

03-26 12:10:16.816 17198-17198/com.noq D/FFMPEG: FFMPEG onStart 
 
03-26 12:10:16.900 17198-17385/com.noq D/FFmpeg: Running publishing updates method 
 
03-26 12:10:16.914 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: WARNING: linker: /data/user/0/com.noq/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix. 
 
03-26 12:10:17.004 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers 
 
03-26 12:10:17.004 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC) 
 
03-26 12:10:17.007 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags= 
 
03-26 12:10:17.021 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libavutil  54. 7.100/54. 7.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libavcodec  56. 1.100/56. 1.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libavformat 56. 4.101/56. 4.101 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libavdevice 56. 0.100/56. 0.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libavfilter  5. 1.100/5. 1.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libswscale  3. 0.100/3. 0.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libswresample 1. 1.100/1. 1.100 
 
03-26 12:10:17.022 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: libpostproc 53. 0.100/53. 0.100 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.noq/files/Pictures/noq/1459008610063.mp4': 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Metadata: 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  major_brand  : mp42 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  minor_version : 0 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  compatible_brands: isommp42 
 
03-26 12:10:17.201 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  creation_time : 2016-03-26 16:10:16 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Duration: 00:00:02.02, start: 0.000000, bitrate: 6131 kb/s 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Stream #0:0(eng): Video: h264 (Baseline) (avc1/0x31637661), yuv420p, 640x480, 5926 kb/s, SAR 65536:65536 DAR 4:3, 29.87 fps, 30.17 tbr, 90k tbn, 180k tbc (default) 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Metadata: 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  rotate   : 270 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  creation_time : 2016-03-26 16:10:16 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  handler_name : VideoHandle 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  encoder   : MOTO 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Side data: 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  displaymatrix: rotation of 90.00 degrees 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Stream #0:1(eng): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default) 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Metadata: 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  creation_time : 2016-03-26 16:10:16 
 
03-26 12:10:17.202 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  handler_name : SoundHandle 
 
03-26 12:10:17.263 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] using SAR=1/1 
 
03-26 12:10:17.297 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] using cpu capabilities: none! 
 
03-26 12:10:17.411 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] profile Constrained Baseline, level 2.1 
 
03-26 12:10:17.417 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Output #0, mp4, to '/storage/emulated/0/Android/data/com.noq/files/Pictures/noq/14590086100631459008616802_square.mp4': 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Metadata: 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  major_brand  : mp42 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  minor_version : 0 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  compatible_brands: isommp42 
 
03-26 12:10:17.464 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  encoder   : Lavf56.4.101 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0]/0x0021), yuv420p, 360x360 [SAR 1:1 DAR 1:1], q=-1--1, 30.17 fps, 11584 tbn, 30.17 tbc (default) 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Metadata: 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  rotate   : 270 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  creation_time : 2016-03-26 16:10:16 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  handler_name : VideoHandle 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  encoder   : Lavc56.1.100 libx264 
 
03-26 12:10:17.465 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Stream #0:1(eng): Audio: aac ([64][0][0][0]/0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default) 
 
03-26 12:10:17.466 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  Metadata: 
 
03-26 12:10:17.466 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  creation_time : 2016-03-26 16:10:16 
 
03-26 12:10:17.466 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  handler_name : SoundHandle 
 
03-26 12:10:17.467 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress:  encoder   : Lavc56.1.100 aac 
 
03-26 12:10:17.467 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Stream mapping: 
 
03-26 12:10:17.467 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) 
 
03-26 12:10:17.467 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Stream #0:1 -> #0:1 (aac (native) -> aac (native)) 
 
03-26 12:10:17.468 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: Press [q] to stop, [?] for help 
 
03-26 12:10:18.035 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: frame= 3 fps=0.0 q=0.0 size=  0kB time=00:00:01.00 bitrate= 0.4kbits/s dup=1 drop=0  
 
03-26 12:10:18.526 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: frame= 21 fps= 20 q=24.0 size=  48kB time=00:00:01.00 bitrate= 390.3kbits/s dup=1 drop=0  
 
03-26 12:10:19.008 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: frame= 26 fps= 17 q=25.0 size=  68kB time=00:00:01.85 bitrate= 301.1kbits/s dup=1 drop=0  
 
03-26 12:10:19.533 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: frame= 47 fps= 23 q=23.0 size=  165kB time=00:00:01.87 bitrate= 719.7kbits/s dup=1 drop=0  
 
03-26 12:10:19.956 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: frame= 62 fps= 25 q=-1.0 Lsize=  297kB time=00:00:02.05 bitrate=1184.9kbits/s dup=1 drop=0  
 
03-26 12:10:19.956 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: video:262kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.992648% 
 
03-26 12:10:19.984 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] frame I:1  Avg QP:20.00 size: 18507 
 
03-26 12:10:19.984 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] frame P:61 Avg QP:23.52 size: 4079 
 
03-26 12:10:19.984 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] mb I I16..4: 100.0% 0.0% 0.0% 
 
03-26 12:10:19.984 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] mb P I16..4: 4.4% 0.0% 0.0% P16..4: 70.9% 0.0% 0.0% 0.0% 0.0% skip:24.7% 
 
03-26 12:10:19.985 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] coded y,uvDC,uvAC intra: 44.6% 40.1% 14.8% inter: 39.1% 32.7% 0.6% 
 
03-26 12:10:19.985 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] i16 v,h,dc,p: 42% 24% 21% 13% 
 
03-26 12:10:19.986 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] i8c dc,h,v,p: 44% 24% 25% 8% 
 
03-26 12:10:19.987 17198-17198/com.noq D/FFMPEG: FFMPEG onProgress: [libx264 @ 0xb78cde30] kb/s:1040.60 
 
03-26 12:10:20.002 17198-17198/com.noq D/FFMPEG: FFMPEG onSuccess: WARNING: linker: /data/user/0/com.noq/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix. 
 
               ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers 
 
                built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC) 
 
                configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags= 
 
                libavutil  54. 7.100/54. 7.100 
 
                libavcodec  56. 1.100/56. 1.100 
 
                libavformat 56. 4.101/56. 4.101 
 
                libavdevice 56. 0.100/56. 0.100 
 
                libavfilter  5. 1.100/5. 1.100 
 
                libswscale  3. 0.100/3. 0.100 
 
                libswresample 1. 1.100/1. 1.100 
 
                libpostproc 53. 0.100/53. 0.100 
 
               Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.noq/files/Pictures/noq/1459008610063.mp4': 
 
                Metadata: 
 
                major_brand  : mp42 
 
                minor_version : 0 
 
                compatible_brands: isommp42 
 
                creation_time : 2016-03-26 16:10:16 
 
                Duration: 00:00:02.02, start: 0.000000, bitrate: 6131 kb/s 
 
                Stream #0:0(eng): Video: h264 (Baseline) (avc1/0x31637661), yuv420p, 640x480, 5926 kb/s, SAR 65536:65536 DAR 4:3, 29.87 fps, 30.17 tbr, 90k tbn, 180k tbc (default) 
 
                Metadata: 
 
                 rotate   : 270 
 
                 creation_time : 2016-03-26 16:10:16 
 
                 handler_name : VideoHandle 
 
                 encoder   : MOTO 
 
                Side data: 
 
                 displaymatrix: rotation of 90.00 degrees 
 
                Stream #0:1(eng): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default) 
 
                Metadata: 
 
                 creation_time : 2016-03-26 16:10:16 
 
                 handler_name : SoundHandle 
 
               [libx264 @ 0xb78cde30] using SAR=1/1 
 
               [libx264 @ 0xb78cde30] using cpu capabilities: none! 
 
               [libx264 @ 0xb78cde30] profile Constrained Baseline, level 2.1 
 
               [libx264 @ 0xb78cde30] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 
 
               Output #0, mp4, to '/storage/emulated/0/Android/data/com.noq/files/Pictures/noq/14590086100631459008616802_square.mp4': 
 
                Metadata: 
 
                major_brand  : mp42 
 
                minor_version : 0 
 
                compatible_brands: isommp42 
 
                encoder   : Lavf56.4.101 
 
                Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0]/0x0021), yuv420p, 360x360 [SAR 1:1 DAR 1:1], q=-1--1, 30.17 fps, 11584 tbn, 30.17 tbc (default) 
 
                Metadata: 
 
                 rotate   : 270 
 
                 creation_time : 2016-03-26 16:10:16 
 
                 handler_name : VideoHandle 
 
                 encoder   : Lavc56.1.100 libx264 
 
                Stream #0:1(eng): Audio: aac ([64][0][0][0]/0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default) 
 
                Metadata: 
 
                 creation_time : 2016-03-26 16:10:16 
 
                 handler_name : SoundHandle 
 
                 encoder   : La 
 
03-26 12:10:20.037 17198-17198/com.noq D/FFMPEG: FFMPEG onFinish

+0

應該按預期工作。 – Mulvya

+0

@Mulvya ...應該,但不:) :) –

+0

只做莊稼,看看行爲是否一樣。 – Mulvya

回答

2

源視頻旋轉90!

使用,具有原始像素矩陣

-vf scale=480:360,crop=360:360:120:0 

隨着旋轉復位,與ffmpeg的版本從2015年或更高版本可能。

"-noautorotate -i " + path + \ 
" -vf scale=480:360,transpose=2,crop=360:360:0:0 
-strict -2 -preset ultrafast -metadata:s:v rotate=0" + fileOutPath 

對於舊版本,請跳過noautorotate標誌。

+0

不,這不是:/是什麼讓你這麼說? –

+0

這個:「顯示矩陣:90.00度的旋轉」 – Mulvya

+0

我希望你是對的:(這只是水平拉伸我的視頻 –