2015-06-25 5 views
5

मैं 480 एक sqaure में आमतौर पर 960x720 आयामों के साथ एक mp4 वीडियो को परिवर्तित कोशिश कर रहा हूँ: 480 वीडियो लेकिन यह पता आता है आमतौर पर squished की तलाश में, आदेशFFMPEG फसल के लिए आदेश और स्थानांतरित वीडियो बाहर बुरा गुणवत्ता में जूम आता

है
"-y -i %s -vf crop=480:480,transpose=%d -threads 5 -metadata:s:v rotate=0 -c:v libx264 -crf 27 -preset ultrafast -c:a copy -bsf:a aac_adtstoasc %s"; 

क्या मुझे कुछ याद आ रहा है, क्या मुझे पहले या कुछ स्केल करने की आवश्यकता है?

** पूर्ण कंसोल आउटपुट जोड़ने संपादित करें। ffmpeg आदेश अद्यतन किया जाता है, लेकिन लक्ष्य अभी भी एक ही रहता है, एक मनमाना वीडियो और वर्ग फसल यह

07-14 22:30:32.813: D/ffmpeg(30354): -y -i /data/data/com.myapp.app/cache:temp/i7h4ajm0nim1mbcnrqotvrhhsc.mp4 -vf scale=iw*sar:ih,transpose=1 -threads 5 -metadata:s:v rotate=0 -c:v libx264 -crf 27 -preset ultrafast -c:a copy -bsf:a aac_adtstoasc -aspect 1:1 /data/data/com.myapp.app/cache:temp/p1t3bhs0oa3lpqa67g5i9ninm9.ts 
07-14 22:30:32.903: D/ffmpeg(30354): new time reamining 9283 
07-14 22:30:32.913: D/FFmpeg(30354): Running publishing updates method 
07-14 22:30:35.963: D/ffmpeg(30354): WARNING: linker: /data/data/com.myapp.app/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix. 
07-14 22:30:35.963: D/ffmpeg(30354): ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers 
07-14 22:30:35.963: D/ffmpeg(30354): built on Jun 3 2015 21:56:01 with gcc 4.8 (GCC) 
07-14 22:30:35.963: D/ffmpeg(30354): configuration: --target-os=linux --cross-prefix=/Users/Brian1/development/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/Users/Brian1/development/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-small --enable-libx264 --enable-pthreads --disable-muxers --enable-muxer=mpegts --enable-muxer=mp4 --disable-demuxers --enable-demuxer=mpegts --enable-demuxer=mov --enable-demuxer=mpeg --enable-demuxer=mp4 --disable-debug --disable-decoders --enable-decoder=h264 --enable-decoder=aac --disable-devices --disable-encoders --enable-encoder=libx264 --disable-network --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/Users/Brian1/development/ffmpeg-android/ffmpeg-pkg-config --prefix=/Users/Brian1/development/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/Users/Brian1/development/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/Users/Brian1/development/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs=-lm --extra-cxxflags= 
07-14 22:30:35.963: D/ffmpeg(30354): libavutil  54. 7.100/54. 7.100 
07-14 22:30:35.963: D/ffmpeg(30354): libavcodec  56. 1.100/56. 1.100 
07-14 22:30:35.963: D/ffmpeg(30354): libavformat 56. 4.101/56. 4.101 
07-14 22:30:35.963: D/ffmpeg(30354): libavdevice 56. 0.100/56. 0.100 
07-14 22:30:35.963: D/ffmpeg(30354): libavfilter  5. 1.100/5. 1.100 
07-14 22:30:35.963: D/ffmpeg(30354): libswscale  3. 0.100/3. 0.100 
07-14 22:30:35.963: D/ffmpeg(30354): libswresample 1. 1.100/1. 1.100 
07-14 22:30:35.963: D/ffmpeg(30354): libpostproc 53. 0.100/53. 0.100 
07-14 22:30:35.963: D/ffmpeg(30354): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data/data/com.myapp.app/cache:temp/i7h4ajm0nim1mbcnrqotvrhhsc.mp4': 
07-14 22:30:35.963: D/ffmpeg(30354): Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  major_brand  : mp42 
07-14 22:30:35.963: D/ffmpeg(30354):  minor_version : 0 
07-14 22:30:35.963: D/ffmpeg(30354):  compatible_brands: isommp42 
07-14 22:30:35.963: D/ffmpeg(30354):  creation_time : 2015-07-15 05:30:32 
07-14 22:30:35.963: D/ffmpeg(30354): Duration: 00:00:02.75, start: 0.000000, bitrate: 9315 kb/s 
07-14 22:30:35.963: D/ffmpeg(30354):  Stream #0:0(eng): Video: h264 (avc1/0x31637661), yuv420p, 960x720, 10062 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default) 
07-14 22:30:35.963: D/ffmpeg(30354):  Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  rotate   : 90 
07-14 22:30:35.963: D/ffmpeg(30354):  creation_time : 2015-07-15 05:30:32 
07-14 22:30:35.963: D/ffmpeg(30354):  handler_name : VideoHandle 
07-14 22:30:35.963: D/ffmpeg(30354):  Side data: 
07-14 22:30:35.963: D/ffmpeg(30354):  displaymatrix: rotation of -90.00 degrees 
07-14 22:30:35.963: D/ffmpeg(30354):  Stream #0:1(eng): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, fltp, 151 kb/s (default) 
07-14 22:30:35.963: D/ffmpeg(30354):  Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  creation_time : 2015-07-15 05:30:32 
07-14 22:30:35.963: D/ffmpeg(30354):  handler_name : SoundHandle 
07-14 22:30:35.963: D/ffmpeg(30354): [libx264 @ 0xb6808800] using SAR=4/3 
07-14 22:30:35.963: D/ffmpeg(30354): [libx264 @ 0xb6808800] using cpu capabilities: none! 
07-14 22:30:35.963: D/ffmpeg(30354): [libx264 @ 0xb6808800] profile Constrained Baseline, level 3.1 
07-14 22:30:35.963: D/ffmpeg(30354): [adts @ 0xb685b000] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. 
07-14 22:30:35.963: D/ffmpeg(30354): Output #0, mpegts, to '/data/data/com.myapp.app/cache:temp/p1t3bhs0oa3lpqa67g5i9ninm9.ts': 
07-14 22:30:35.963: D/ffmpeg(30354): Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  major_brand  : mp42 
07-14 22:30:35.963: D/ffmpeg(30354):  minor_version : 0 
07-14 22:30:35.963: D/ffmpeg(30354):  compatible_brands: isommp42 
07-14 22:30:35.963: D/ffmpeg(30354):  encoder   : Lavf56.4.101 
07-14 22:30:35.963: D/ffmpeg(30354):  Stream #0:0(eng): Video: h264 (libx264), yuv420p, 720x960 [SAR 4:3 DAR 1:1], q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc (default) 
07-14 22:30:35.963: D/ffmpeg(30354):  Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  handler_name : VideoHandle 
07-14 22:30:35.963: D/ffmpeg(30354):  creation_time : 2015-07-15 05:30:32 
07-14 22:30:35.963: D/ffmpeg(30354):  rotate   : 0 
07-14 22:30:35.963: D/ffmpeg(30354):  encoder   : Lavc56.1.100 libx264 
07-14 22:30:35.963: D/ffmpeg(30354):  Stream #0:1(eng): Audio: aac (mp4a/0x6134706D), 48000 Hz, stereo, 151 kb/s (default) 
07-14 22:30:35.963: D/ffmpeg(30354):  Metadata: 
07-14 22:30:35.963: D/ffmpeg(30354):  creation_time : 2015-07-15 05:30:32 
07-14 22:30:35.963: D/ffmpeg(30354):  handler_name : SoundHandle 
07-14 22:30:35.963: D/ffmpeg(30354): Stream mapping: 
07-14 22:30:35.963: D/ffmpeg(30354): Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) 
07-14 22:30:35.963: D/ffmpeg(30354): Stream #0:1 -> #0:1 (copy) 
07-14 22:30:35.963: D/ffmpeg(30354): Press [q] to stop, [?] for help 
07-14 22:30:35.963: D/ffmpeg(30354): frame= 17 fps=0.0 q=27.0 size=  0kB time=00:00:00.36 bitrate= 0.0kbits/s  
07-14 22:30:35.963: D/ffmpeg(30354): frame= 33 fps= 32 q=27.0 size=  164kB time=00:00:01.15 bitrate=1163.1kbits/s  
07-14 22:30:35.963: D/ffmpeg(30354): frame= 46 fps= 30 q=29.0 size=  213kB time=00:00:01.33 b 
+0

बेहतर होगा कि तुम 'aspect' परम करने के लिए' में निर्दिष्ट करना होगा 1' क्योंकि आपके पास 480x480 वीडियो आउटपुट है। – Chamath

+0

ठीक है मैं यह कैसे करूँ? – Brian

+0

आउटपुट फ़ाइल निर्दिष्ट करने से पहले '-स्पेक्ट 480/480' डालने का प्रयास करें। – Chamath

उत्तर

10

आप इस (कांट-छांट और आकार घटाने का ख्याल रखता है) की कोशिश कर सकते हैं ... ले

ffmpeg -i input.file -s 480x480 -vf crop=480:480,setdar=1:1,setsar=1:1 output.mp4

-s .. पैमाने (वीडियो कैनवास क्षेत्र)
crop=480:480 केंद्र से फसल जाएगा सेट हो जाएगा अगर आप विशिष्ट उपयोग से की जरूरत है: crop=480:480:pos-X:pos-Y
setdar Displa सेट हो जाएगा y पहलू अनुपात
setsar सेट हो जाएगा नमूना पहलू अनुपात

परिणाम: (स्क्रीन MPC-Home Cinema के माध्यम से MP4 चित्र पकड़ा)

enter image description here

+0

धन्यवाद करने की कोशिश कर रहा हूं, ऐसा लगता है कि मैं था कुछ vf कमांड – Brian

+0

गायब कुछ डिवाइस जो मैंने परीक्षण किया है वास्तव में अभी भी थोड़ा विकृत लग रहा है, नमूना पहलू अनुपात प्रारंभिक apsect अनुपात नहीं होना चाहिए? – Brian

+0

क्षमा करें मेरे पास एक परीक्षण एंड्रॉइड डिवाइस नहीं है (केवल कंप्यूटर स्क्रीन)। क्या 'dar = 72: 72' या यहां तक ​​कि 'dar = 172: 72' बेहतर काम करता है? ** [इस आलेख] की जांच करें (https://spreadys.wordpress.com/2014/03/17/resizing-in-ffmpeg/) ** आसान सलाह के लिए, और ** [यह आलेख] (http: // यूनिक्स .stackexchange.com/प्रश्न/1750 9 0/जल-ए-वीडियो-फ़ाइल-गैर मानक-पहलू-अनुपात-से-डीवीडी/175507 # 175507) ** भी उपयोगी है।आप इनपुट वीडियो की चौड़ाई और ऊंचाई के आधार पर 'सर' और 'दार' दोनों का उपयोग करके पिक्सेल पहलू गणना कर सकते हैं। 'डीएआर/एसएआर = PAR'। –

संबंधित मुद्दे