ffmpeg 编解码相关笔记

原创 2016年06月01日 13:43:43
pCodecCtx->gop_size = GOP_SIZE;
pCodecCtx->max_b_frames = MAX_B_FRAMES;
pCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P;


av_opt_set(pCodecCtx->priv_data, "preset", "slow", 0);
av_opt_set(pCodecCtx->priv_data, "crf", "35.000", 0);




1.yuv420p 与yv12 的区别 只是uv顺序相反。


2.ffmpeg raw data对其格式:yuv420p 为16,rgb24为1。如果不做对齐可能会出现rgb数据下方有绿边。


3.ffmpeg ffplay 命令
播放rgb或yuv数据
>ffplay -f rawvideo -pixel_format rgb24 -video_size 1920x1080 e:\workspace\encoder\output\test_cff.rgb


从视频中裁剪出jpg
>ffmpeg -i test.264 %04d.jpg


图片格式转换
>ffmpeg -i e:\workspace\encoder\output\pic\jpgs\1.jpg -pix_fmt rgb24 -r 29.970 -y goutput.rgb



//叠加字符
>ffmpeg -y -i 1.mp4 -s 1280*1024 -vcodec libx264 -refs 2 -x264opts keyint=150:mi
n-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=msyh.t
tf: text='来源:迅雷':x=100:y=200:fontsize=50:fontcolor=yellow@0.5:shadowy=2" 2.
mp4


ffmpeg -i 1.mp4 -vf "format=yuv444p, drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=max, drawtext=fontfile=msyh.ttf:text='frame %{n}\\: %{pict_type}\\: %@{localtime\:%a %b %d %Y@}':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, format=yuv420p" -c:v libx264 -c:a copy -movflags +faststart output.mp4


>ffmpeg -i 1.mp4 -vf "format=yuv420p, drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=max, drawtext=fontfile=msyh.ttf:text='%@{localtime\:%a %b %d %Y@}':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, format=yuv420p" -c:v libx264 -c:a copy -movflags +faststart output.mp4




ffmpeg -i /f/p/moto-g\ camera/VID_20141225_140557099.mp4 -filter_complex "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='frame %{n}\\: %{pict_type}\\: pts=%{pts \\: hms}': x=100: y=50: fontsize=24: fontcolor=yellow@0.8: box=1: boxcolor=blue@0.9" -c:a copy -c:v libx264 -preset veryfast -crf 16 -x264-params keyint=60 -map 0 foo.mkv


>ffmpeg -i 1.mp4 -vf "drawtext=fontsize=80:fontfile=msyh.ttf:textfile=CREDITS:y=h-20*t" 11.mp4



解码出raw格式 分辨率可调

ffmpeg.exe -i trailer_1080p.mov -s 1280*720 -pixel_format yu
v420p trailer_1080p1.yuv


播放raw格式 
>ffplay.exe -f rawvideo -pixel_format yuv420p -video_size 1280*720 trailer_1280*720p.yuv
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

ffmpeg实时编码解码部分代码

程序分为编码端和解码端,两端通过tcp  socket通信,编码端一边编码一边将编码后的数据发送给解码端,解码端一边接收数据一边将解码得到的帧显示出来。 代码中的编码端编码的是实时屏幕截图。代码调用...

FFMPEG 下 H264 零时延编码

AVCodecContext *c_de; ..... ..... av_opt_set(c_de->priv_data, "preset", "ultrafast", 0); av_opt_se...

FFMPEG结构体分析:AVCodec

FFMPEG有几个最重要的结构体,包含了解协议,解封装,解码操作,此前已经进行过分析: FFMPEG中最关键的结构体之间的关系 在此不再详述,其中AVCodec是存储编解码器信息的结构体。本文将会详细...

FFMPEG使用参数详解

目前又开始测MPEG1和MPEG2的解码,在准备编码好的测试序列过程中,需要通过编码器来进行原始视频序列的编码操作,以生成我们需要的测试数据。由于IPP example提供的Encoder不支持MPE...

最简单的基于FFMPEG的视频编码器(YUV编码为H.264)

本文介绍一个最简单的基于FFMPEG的视频编码器。该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据。编码器代码十分简单,但是每一行代码都很重要,适合好好研究一下。弄清楚了本代码也就...

从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题(如何解决编码 0 延时)

在看到这篇文章前我已经解决了这个问题,但是知其然不知其所以然,看到原作者写的文章很详细。 于是转之,感谢原作者。 原文链接:http://blog.csdn.net/ymsdu2004/article...

x264编码指南——码率控制

x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频。     对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor...

x264码率控制总结3——码率控制参数详解

x264码率控制参数详解   -q, --qp           Force constant QP (0-51, 0=lossless) 默认:无 说明:三种可选的码率控制方法(bitr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)