Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
ffmpeg apply filters without rencoding ?
19 octobre 2013, par nbubisI want to rotate a video using ffmpeg, but I don't want to lose quality by re-encoding.
If I try
ffmpeg -i in.mp4 -vf 'vflip,hflip' -ss 120 -t 200 -c:v copy -c:a copy out.mp4
No rotation gets preformed. If I instead specify the encoding by using, say
-c:v h264
, I'm afraid I'll lose some quality. Is there a "losssless" (relative to the original encoding) way of applying a filter? -
FFMPEG : Change Video during encoding (using mapping)
18 octobre 2013, par TchoupiI'm currently trying to concat several videos using a complex filter:
ffmpeg.exe -threads 8 -i "D:\Temporary0.mp4" -i "D:\Temporary1.mp4" -i "D:\Temporary2.mp4" -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a] concat=n=3:v=1:a=1 [v] [a] " -map "[v]" -map "[a]" -vcodec libx264 -b 2500000 -s 1920:1080 -y D:\EditedVideo.mp4
This command work fine. Edit: Here the output of the command:
ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers built on Sep 15 2013 18:02:28 with gcc 4.7.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 43.100 / 52. 43.100 libavcodec 55. 31.101 / 55. 31.101 libavformat 55. 16.102 / 55. 16.102 libavdevice 55. 3.100 / 55. 3.100 libavfilter 3. 84.100 / 3. 84.100 libswscale 2. 5.100 / 2. 5.100 libswresample 0. 17.103 / 0. 17.103 libpostproc 52. 3.100 / 52. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Temporary0.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.16.102 Duration: 00:00:02.91, start: 0.033333, bitrate: 8998 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 8965 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Temporary1.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.16.102 Duration: 00:00:05.00, start: 0.023220, bitrate: 846 kb/s Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 835 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #1:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 1 kb/s (default) Metadata: handler_name : SoundHandler Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Temporary2.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.16.102 Duration: 00:00:04.35, start: 0.033333, bitrate: 4684 kb/s Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 4581 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #2:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler Please use -b:a or -b:v, -b is ambiguous [libx264 @ 04f617e0] using SAR=1/1 [libx264 @ 04f617e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX [libx264 @ 04f617e0] profile High, level 4.0 [libx264 @ 04f617e0] 264 - core 135 r2345 f0c1c53 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subm e=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=12 lookahead_threads=2 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 r c=abr mbtree=1 bitrate=2500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'D:\EditedVideo.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.16.102 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 12800 tbn, 25 tbc Stream #0:1: Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, s16, 128 kb/s Stream mapping: Stream #0:0 (h264) -> concat:in0:v0 Stream #0:1 (aac) -> concat:in0:a0 Stream #1:0 (h264) -> concat:in1:v0 Stream #1:1 (aac) -> concat:in1:a0 Stream #2:0 (h264) -> concat:in2:v0 Stream #2:1 (aac) -> concat:in2:a0 concat:out:v0 -> Stream #0:0 (libx264) concat:out:a0 -> Stream #0:1 (libvo_aacenc) Press [q] to stop, [?] for help frame= 306 fps= 43 q=-1.0 Lsize= 3557kB time=00:00:12.29 bitrate=2369.4kbits/s dup=1 drop=0 video:3353kB audio:193kB subtitle:0 global headers:0kB muxing overhead 0.288541% [libx264 @ 04f617e0] frame I:3 Avg QP:21.78 size:173526 [libx264 @ 04f617e0] frame P:112 Avg QP:25.76 size: 17363 [libx264 @ 04f617e0] frame B:191 Avg QP:31.04 size: 5068 [libx264 @ 04f617e0] consecutive B-frames: 11.8% 14.4% 2.0% 71.9% [libx264 @ 04f617e0] mb I I16..4: 14.6% 82.7% 2.6% [libx264 @ 04f617e0] mb P I16..4: 3.5% 8.8% 0.2% P16..4: 30.1% 5.3% 2.6% 0.0% 0.0% skip:49.4% [libx264 @ 04f617e0] mb B I16..4: 0.7% 1.1% 0.0% B16..8: 21.6% 1.2% 0.1% direct: 1.2% skip:74.1% L0:47.0% L1:50.6% BI: 2.4% [libx264 @ 04f617e0] final ratefactor: 25.69 [libx264 @ 04f617e0] 8x8 transform intra:70.8% inter:88.5% [libx264 @ 04f617e0] coded y,uvDC,uvAC intra: 34.3% 50.2% 7.2% inter: 7.3% 13.3% 0.3% [libx264 @ 04f617e0] i16 v,h,dc,p: 22% 33% 7% 37% [libx264 @ 04f617e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 22% 34% 4% 5% 4% 5% 4% 5% [libx264 @ 04f617e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 22% 18% 5% 6% 6% 5% 6% 4% [libx264 @ 04f617e0] i8c dc,h,v,p: 60% 21% 16% 3% [libx264 @ 04f617e0] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 04f617e0] ref P L0: 62.6% 9.1% 19.8% 8.5% [libx264 @ 04f617e0] ref B L0: 85.3% 12.6% 2.1% [libx264 @ 04f617e0] ref B L1: 92.4% 7.6% [libx264 @ 04f617e0] kb/s:2243.97 [libvo_aacenc @ 0420e900] 1 frames left in the queue on closing
I would like to update this command to change volume during concat and encode time:
ffmpeg.exe -threads 8 -i "D:\Temporary0.mp4" -i "D:\Temporary1.mp4" -i "D:\Temporary2.mp4" -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a] concat=n=3:v=1:a=1 [v] [a] " -map "[v]" -map "[a]" -vcodec libx264 -b 2500000 -s 1920:1080 -af volume="volume=20dB:precision=double" -y D:\EditedVideo.mp4
This command is executed but the audio stream is not altered with the +20db
PS: If I do a simple encoding command like
ffmpeg.exe -i source -vcodec libx264 -af volume="volume=20dB:precision=double" -y output
Command work fine and audio stream is modified.
So How can I Do to concat my videos and change audio volume at the same time ?
Thanks
-
ffmpegthumbnailer issue : dyld : Library not loaded : /usr/local/lib/libavutil.52.18.100.dylib
18 octobre 2013, par scientifficWhen I try to run ffmpegthumbnailer, I get the following error:
dyld: Library not loaded: /usr/local/lib/libavutil.52.18.100.dylib Referenced from: /usr/local/bin/ffmpegthumbnailer Reason: image not found Trace/BPT trap: 5
I installed ffmpeg using the directions here:
http://ffmpeg.org/trac/ffmpeg/wiki/MacOSXCompilationGuide
In my /usr/local/lib folder, I have the file "libavutil.a", but not the one specified in the error mesage.
How can I solve this error?
This is what I was using to try to generate a thumbnail:
ffmpegthumbnailer -i /public/uploads/tmp/1382121359-37490-7826/thumb_Untitled.mov -o /public/uploads/tmp/1382121359-37490-7826/tmpfile.png -c png -q 10 -s 158
-
Simple ffmpeg cutting of videos and storing in specific location
18 octobre 2013, par Akash DeshpandeHow to cut a small segment from a video in ffmpeg
ffmpeg.exe -i F:\\Ims\\144\\TestRun\\12907\\144151__cam144__10-10-2013 8.32.36 PM__10-10-2013 8.52.55 PM.avi -ss 00:00:01 -t 00:01:00 -vcodec -acodec -o F:\\IMS_Analysis\\cam144_0.avi
Gives an error that the option "-o" is not know. How do I ask ffmpeg create the output file called cam144_o.avi? what is the switch for this ?
-
How do you set muxer options in libavformat ?
18 octobre 2013, par dicroceI'm trying to use the libavformat muxer "hlsenc.c".... Looking through the code of the muxers, it looks like muxers support paramaters via the AVOption mechanism... For example, the hlsenc.c muxer supports an AVOption parameter called "hls_time"...
I'm using av_guess_format("hls",NULL,NULL) to find the appropriate output format, but how do you set these options?
(it seems like all the samples on the internet are setting options on a codec... I want to set options on a muxer).