Newest 'ffmpeg' Questions - Stack Overflow
Les articles publiés sur le site
-
Simple Build of Libavcodec.so and libavformat.so on Mac
11 mai 2013, par Dave LowerreWho needs ffmpeg? Not me. What I need is to be able to decode a video stream along with its audio stream, so that can put the frames on an opengl surface in sync with the audio.
FFmpeg is a tool that transcodes video. That is not what I need. I need its libraries.
The problem is that every example for building FFmpeg includes junk I just dont need. The latest example I wasted my time on:
https://github.com/appunite/AndroidFFmpeg
uses things like freetype2 that I really, REALLY, do not need. Whats more annoying is that it wont even build as described because the example references freetype, not freetype2 so the build steps are broken. Don't even get me started on the problems I had with libtool.
The kicker is finding libav.org, where they describe on their about page the chaos in the ffmpeg project. Perhaps that is why this is so difficult.
So, should it be so hard to build just the shared libs? Can someone point me to some documentation, or a tutorial that works? I admit that this is new territory for me but all I have found using Google is chaos.
-
Finding the time of a thumbnail in a video
10 mai 2013, par LiamI have a large set of pre-generated thumbnails and videos. What is the easiest way to figure out the specific time in the video of the associated thumbnail?
I'd imagine that I would have to use something to loop through all the frames in a video to find a match. What libraries should I use? Something like OpenCV maybe? ffmpeg?
Python is preferred but not required.
-
How to amplify audio in Libav
10 mai 2013, par user1915649I use the
avcodec_encode_audio()
function to encode raw data from microphone, but it is very quiet (all mic settings set to max). Is there a quick way to amplify the audio or I must do it manually with each sample?P.S. AFAIK, ffmpeg has -vol to amplify audio. Can I use it somehow from my C-code (using Libav)?
-
Stream copy given start and end time in ffmpeg
10 mai 2013, par praks411I'm trying a small program which cuts clip from video file given start and end time. For this I'm doing a simple stream copy of both audio and video stream. I just copied the pts and dts from input packet to output with proper re-scaling. However the output which I'm getting is blank for some duration and then only for last few seconds it is displayed. I thought this could to problem of incorrent pts and dts. So I just manually set pts and dts using counter for each stream. Though I'm able to get the clip but video is very fast and audio goes fine. Please someone explain me how to set current pts and dts for both audio and video stream, when doing stream copy.
Thanks Pradeep
-
FFMPEG result video freezes in the middle of playback
10 mai 2013, par RevoluziferI'm trying stitch four source videos together into one grid. For testing purposes I'm working with a single source flv using this command:
ffmpeg -i woohoo.flv -i woohoo.flv -i woohoo.flv -i woohoo.flv \ -filter_complex "[0:0]pad=iw:ih[a];[1:0]scale=w=iw/2:h=ih/2[b]; [2:0]scale=w=iw/2:h=ih/2[c];[3:0]scale=w=iw/2:h=ih/2[d]; [0:0]scale=w=iw/2:h=ih/2[e];[a][b]overlay=w[x];[x][c]overlay=0:h[y]; [y][d]overlay=w:h[z];[z][e]overlay=0:0" -qscale 1 stitched.avi
The stitching itself is working great, but somehow the resulting video does not show as expected. After running for a few frames, it gets stuck at a single frame for most of the video, skipping the frames which should be there.
While encoding ffmpeg throws a freaking lot of messages like:
[Parsed_overlay_8 @ 000000000459e080] Buffer queue overflow, dropping.
Any hints on how to solve my problem? My source flv is h.264 encoded, coming from Red5 media server.
Edit: Output is:
root@s15757871:/opt/red5/webapps/woohoo/streams# ffmpeg -i out_3.mp4 -i 3.mp4 -filter_complex "[0:0]pad=iw:ih[a];[1:0]scale=w=iw/2:h=ih/2[b];[a][b]overlay=w:h" -vcodec libx264 -r 30 -acodec copy out_final.mp4 ffmpeg version N-52943-g500220a Copyright (c) 2000-2013 the FFmpeg developers built on May 10 2013 09:46:03 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1) configuration: --enable-gpl --enable-libx264 --enable-libmp3lame --enable-nonfree --enable-libaacplus libavutil 52. 30.100 / 52. 30.100 libavcodec 55. 7.100 / 55. 7.100 libavformat 55. 4.101 / 55. 4.101 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 63.101 / 3. 63.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out_3.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.4.101 Duration: 00:00:26.53, start: 0.000000, bitrate: 513 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 447 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, mono, s16p, 62 kb/s Metadata: handler_name : SoundHandler Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.4.101 Duration: 00:00:26.60, start: 0.000000, bitrate: 639 kb/s Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 574 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc Metadata: handler_name : VideoHandler Stream #1:1(und): Audio: mp3 (mp4a / 0x6134706D), 44100 Hz, mono, s16p, 62 kb/s Metadata: handler_name : SoundHandler File 'out_final.mp4' already exists. Overwrite ? [y/N] y [libx264 @ 0x19baee0] using SAR=1/1 [libx264 @ 0x19baee0] using cpu capabilities: MMX2 SSE2Fast SSEMisalign LZCNT [libx264 @ 0x19baee0] profile High, level 3.0 [libx264 @ 0x19baee0] 264 - core 132 r2310 76a5c3a - 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 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=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 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'out_final.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.4.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 15360 tbn, 30 tbc Stream #0:1(und): Audio: mp3 (i[0][0][0] / 0x0069), 44100 Hz, mono, 62 kb/s Metadata: handler_name : SoundHandler Stream mapping: Stream #0:0 (h264) -> pad Stream #1:0 (h264) -> scale overlay -> Stream #0:0 (libx264) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help Buffer queue overflow, dropping. 583kB time=00:00:08.00 bitrate= 597.3kbits/s [Parsed_overlay_2 @ 0x19be420] Buffer queue overflow, dropping. Last message repeated 202 times frame= 795 fps= 96 q=-2.0 Lsize= 1700kB time=00:00:27.04 bitrate= 514.9kbits/s dup=203 drop=0 video:1487kB audio:196kB subtitle:0 global headers:0kB muxing overhead 1.025454% [libx264 @ 0x19baee0] frame I:4 Avg QP:19.83 size: 34019 [libx264 @ 0x19baee0] frame P:322 Avg QP:22.85 size: 3858 [libx264 @ 0x19baee0] frame B:469 Avg QP:24.57 size: 305 [libx264 @ 0x19baee0] consecutive B-frames: 13.8% 15.8% 20.0% 50.3% [libx264 @ 0x19baee0] mb I I16..4: 10.5% 47.8% 41.7% [libx264 @ 0x19baee0] mb P I16..4: 1.4% 3.0% 0.8% P16..4: 27.1% 14.4% 9.2% 0.0% 0.0% skip:44.1% [libx264 @ 0x19baee0] mb B I16..4: 0.0% 0.1% 0.0% B16..8: 15.3% 1.5% 0.2% direct: 0.3% skip:82.6% L0:39.7% L1:53.8% BI: 6.5% [libx264 @ 0x19baee0] 8x8 transform intra:56.6% inter:64.9% [libx264 @ 0x19baee0] coded y,uvDC,uvAC intra: 58.4% 72.9% 39.0% inter: 8.3% 11.9% 1.0% [libx264 @ 0x19baee0] i16 v,h,dc,p: 63% 18% 10% 10% [libx264 @ 0x19baee0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 17% 20% 4% 7% 9% 6% 6% 8% [libx264 @ 0x19baee0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 21% 13% 5% 7% 8% 6% 6% 7% [libx264 @ 0x19baee0] i8c dc,h,v,p: 52% 18% 22% 9% [libx264 @ 0x19baee0] Weighted P-Frames: Y:7.5% UV:4.0% [libx264 @ 0x19baee0] ref P L0: 70.8% 16.9% 9.3% 2.8% 0.2% [libx264 @ 0x19baee0] ref B L0: 90.6% 8.1% 1.3% [libx264 @ 0x19baee0] ref B L1: 96.4% 3.6% [libx264 @ 0x19baee0] kb/s:459.39
The source mp4 files used here have successfully been converted from flv by ffmpeg before.