
FFmpeg
了悟生死大事
一切的本质都是空
展开
-
FFmpeg给mp4视频加上旋转90度的代码
1、准备h264视频流。(这之前可能是yuv转成的视频流。)2、准备aac音频流。3、开始muxer成mp4。一、如果初始视频是ios或者安卓手机拍摄的竖拍视频,那么这个视频是有90,180,270这样的旋转角度的。比如本来宽高比是720*1080,但是安卓和iphone手机拍出的视频的宽高却是1080*720,但是在metadata里标记了rotate=90。当你从原...原创 2016-03-01 21:22:01 · 14490 阅读 · 3 评论 -
FFmpeg水印和字幕同时一个命令搞定
"drawtext=x=0:y=300:text="Hello World"[text];movie=/Test.png[wm];[text][wm]overlay=0:0[out]"原创 2017-02-08 18:01:55 · 6611 阅读 · 1 评论 -
MAC OS用ffmpeg编译代码出现的Undefined symbols for architecture x86_64: "_CGLGetCurrentContext", referenced
编译的代码在这里:http://blog.youkuaiyun.com/leixiaohua1020/article/details/50618190。这个代码在MAC OS 10.12,ffmpeg 3.2下没有编译成功。clang++ simplest_filter_video_pure.cpp -g -o simplest_ffmpeg_video_pure \-framewo原创 2017-02-17 14:32:25 · 3047 阅读 · 0 评论 -
FFmpeg Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 23518,一个空格引发的血案
Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 23518I/DEBUG ( 2419): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***I/DEBUG ( 2419): Build fingerprint: 'Huawei/H60-L0原创 2017-01-21 15:47:03 · 2431 阅读 · 0 评论 -
FFmpeg 静图png or jpg加 Gif变Gif图的命令
ffmpeg -y -i img.jpg -vf 'movie=test.gif[wm];[in][wm]overlay=0:0[out]' -loop 0 img_gif.gif//loop参数,0是无限循环,1标示播放一次。原创 2017-01-21 16:19:54 · 4667 阅读 · 0 评论 -
FFmpeg滤镜delogo没有问题
其实这个东西需要依赖gpl,所以编译的时候,需要--enable-gpl,才能出来。原创 2017-02-11 19:41:18 · 2705 阅读 · 0 评论 -
ffmpeg: remove option for libfaac,Unknown option "--enable-libfaac" FFmpeg 3.2版本
3.2已经删除libfaac,具体解释:https://github.com/Homebrew/homebrew-core/issues/6418官方说明:https://github.com/BrewTestBot/homebrew-core/commit/c5c6006e5092c3dae6c9fc27003078251ab4cbbb原创 2017-01-22 01:03:06 · 4665 阅读 · 2 评论 -
FFmpeg一次同时多个滤镜处理
ffplay -i QQ视频_4EB2BA95F40F7273B183B39B62EBCE3D.mp4 -vf delogo=x=30:y=50:w=25:h=100:show=1,delogo=x=1:y=1:w=250:h=30:show=1原创 2017-02-12 12:00:07 · 4755 阅读 · 0 评论 -
FFMpeg 3.2移植到android遇到的各种坑,再一次总结
故事很长,慢慢看!首先我又一个需求,一张jpg加上gif后,变成一个gif动图。如果你用命令ffmpeg -i test.jpg -vf 'movie=test.gif[wm];[in][wm]overlay=0:0[out]' out.gif命令的话,我假设你的ffmpeg -version是3.2,那么恭喜,这个需求你很容易搞定。不幸的是,我的android项目是2.原创 2017-01-22 18:43:48 · 2635 阅读 · 1 评论 -
FFmpeg的视频添加GIF,Gif要循环播放的命令
ffmpeg -y -i test1.mp4 -ignore_loop 0 -i tes2.gif -filter_complex overlay=x=0:0:shortest=1 test_out6.mp4原创 2017-01-23 21:36:03 · 8247 阅读 · 5 评论 -
FFmpeg静图加视频水印命令
ffmpeg -i meinv.jpg -vf 'movie=Test1.mp4,transpose=1[wm];[in][wm]overlay=1:1[out]'meinv_movie.mp4transpose=1表示处理有角度的视频。原创 2017-02-25 21:52:38 · 863 阅读 · 0 评论 -
FFmpeg碰到安装libmp3lame后提示没有找到的问题解决
xcode-select --install 。在MAC上我是用这个解决的。原创 2017-02-26 23:59:18 · 2788 阅读 · 0 评论 -
FFmpeg提取第一个视频合并第二个视频的音频同时加2个水印
ffmpeg -i ~/Movies/objectC/facebook.mp4 -i ~/Movies/rangzidanfei.mkv -i ~/Pictures/SACC.jpg -i ~/Pictures/IMG_8678.JPG -filter_complex "[2:v] scale=30:30 [wm1]; [3:v] scale=20:20 [wm2]; [0:v][wm1] ove原创 2017-03-17 12:05:13 · 2893 阅读 · 0 评论 -
水印动态时间
./ffmpeg-re-i ~/Movies/objectC/bbs.chinaffmpeg.com-孙悟空-facebook.mp4-vf"drawtext='fontfile=Arial.ttf:fontcolor=green:x=20:y=20:text=%{localtime\:%H %M %S}'"-vcodec libx264-acodeccop转载 2017-07-15 22:51:27 · 988 阅读 · 0 评论 -
FFmpeg获取视频帧率fps,tbr
AVStream *stream=pFormatCtx->streams[packet.stream_index]; int frame_rate=stream->avg_frame_rate.num/stream->avg_frame_rate.den;//每秒多少帧原创 2017-01-01 13:32:59 · 24072 阅读 · 2 评论 -
FFmpeg截取视频生成高清Gif
palette="/tmp/palette.png"filters="fps=15,scale=320:-1:flags=lanczos"ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $paletteffmpeg -v warning -i $1 -i $palette -lavfi "$f原创 2017-01-14 18:35:04 · 3927 阅读 · 0 评论 -
FFmpeg avcodec_open2不成功broken ffmpeg default settings detected跟H264的设置有关
使用ffmpeg x264进行编码的时候,avcodec_open报错:[libx264 @ 00021bb0]broken ffmpeg default settings detected[libx264 @ 00021bb0]use an encoding preset (vpre)解决方法:在 x264 的source file encoder/encoder.c 中找到该报错的原创 2016-03-02 14:59:38 · 4343 阅读 · 0 评论 -
FFmpeg解析视频保存为yuv
[作为自己备份代码使用,尚未优化]#include "MyFilterVideo.h"#define __STDC_CONSTANT_MACROS#include "MyEncodeYUV.h"#include #include #include #include #include原创 2016-03-02 15:05:56 · 2198 阅读 · 0 评论 -
FFmpeg转换yuv为h264视频流
[备份代码使用,未优化]#include "MyEncodeYUV.h"#include #define __STDC_CONSTANT_MACROS#include #include #include int flush_encoder(AVFormatContext原创 2016-03-02 15:09:06 · 3680 阅读 · 0 评论 -
FFmpeg解析视频里面的音频aac保存
[自己备份,尚未优化]#include "MyDecodAudioToAac.h"#include #include /* FIX: H.264 in some container format (FLV, MP4, MKV etc.) need "h264_mp4toannexb" bitstream filte原创 2016-03-02 15:11:23 · 3173 阅读 · 0 评论 -
FFmpeg获取视频的旋转角度rotate函数,一定能获取!(要放在解析视频流的时候才能获取)
int getRotateAngle(AVStream* avStream){ AVDictionaryEntry *tag =NULL; int m_Rotate=-1; tag =av_dict_get(avStream->metadata,"rotate", tag, 0); if (tag==NULL) {原创 2016-02-28 22:40:39 · 6113 阅读 · 0 评论 -
FFmpeg给视频加上旋转90的命令
ffmpeg -i success.mp4 -metadata:s:v rotate="90" -codec copy output_success.mp4原创 2016-02-29 00:24:42 · 20347 阅读 · 3 评论 -
关于FFMPEG多音频合成的命令使用
6.8 amixMixes multiple audio inputs into a single output.Note that this filter only supports float samples (the amerge and pan audio filters support many formats). If the amix input has in原创 2016-07-31 13:58:40 · 3287 阅读 · 0 评论 -
FFMPEG调节音频的音量大小,混音
找了很久,国内网站没有,最后还是用google到ffmpeg论坛,找到了。http://ffmpeg.gusari.org/viewtopic.php?f=25&t=517防止论坛倒闭,在这里备份下: How to change audio volume up / down with FFmpeg?by screenshaper » Thu Oct原创 2016-07-31 14:45:04 · 29994 阅读 · 3 评论 -
FFMPEG安装后没有ffplayer等一系列SDL安装问题解决
1、编译安装ffmpeg后,没有发现ffplayer 。愿意是编译出ffplayer需要sdl。2、ffmpeg 的configure运行后,发现SDL suport 是0。3、到SDL.org下载源码编译(mac),本来我是下载SDL2,不过安装后发现还是无法识别。如果安装好,ffmpeg 是会自动识别。后来安装sdl2没问题,可以安装成功。4、SDL1.原创 2016-10-03 16:44:35 · 4134 阅读 · 0 评论 -
ffmpeg 命令行
ffmpeg 命令行极力推荐开发者在 PC 上安装 ffmpeg 环境,以便测试 ffmpeg 命令行,测试通过后再在手机上测试使用。7.1 视频叠加水印(建议添加与视频大小一致并且透明的水印,如 480x480)//单水印ffmpeg -i in.mp4 -i watermark1.png -filter_complex "overlay=x=0:y=0" -fmp4 out.mp4原创 2016-04-14 22:13:16 · 1943 阅读 · 0 评论 -
FFmpeg合成h264视频流和aac音频流为mp4
[备份使用,尚未优化代码]#include "MyMuxerToMP4.h"#include #include #include /* FIX: H.264 in some container format (FLV, MP4, MKV etc.) need "h264_mp4toannexb" bit原创 2016-03-02 15:19:37 · 16108 阅读 · 14 评论 -
对FFMPEG的小总结(自己看的)
这篇文章是我自己看的,你未必能看懂,当做我自己的备份。FFmpeg是复杂的开源系统,刚开始玩只知道用命令ffmpeg -i test.mp4 这样的。其实普通用户能有用这个命令ffmpeg和FFmpeg框架是有区别的。其实ffmpeg这个命令是一个程序,代码是FFmpeg的根目录ffmpeg.c编译出来的。这个ffmpeg.c调用了FFmpeg框架libavformat,libav原创 2017-01-05 11:26:27 · 2512 阅读 · 0 评论 -
FFmpeg通过PTS获取当前帧所在的毫秒时间
AVStream *stream=pFormatCtx->streams[packet.stream_index]; avcodec_decode_video2(pCodecCtx,pFrame, &got_frame, &packet); int second= pFrame->pts * av_q2d(stream->time_base); 具体就是如上函数了。原创 2017-01-05 16:50:50 · 9689 阅读 · 3 评论 -
FFMPEG裁剪视频的一段视频
ffmpeg -y -i 原视频.mp4 -vcodec copy -acodec copy -ss 00:00:04 -to 00:00:08 cut_time.mp4 -ss 开始的时间-to 到的时间点原创 2017-09-09 11:06:17 · 2382 阅读 · 0 评论