ffmpeg's tutorial
oldmtn
WIN32, GDI/GDI+, VC/MFC, WIN8, Qt, ANDROID, Libevent, boost, ffmpeg, OPENGL等方面。
Happyiness is a journey not a destination. SoWork like you dont need money.Love like youve never been hurt.And Dance like no ones watching.... So Just Code like you dont need to run it successful.
展开
-
Tutorial 01: Making Screencaps
ffmpeg的ffplay.c的例子很庞大,但是网上有简化的例子。本文参考的链接里面的例子很不错,但是不是最新版本的,可以去https://github.com/chelyaev/ffmpeg-tutorial里面下载最新的版本。我运行此代码时的ffmpeg和SDL的环境为:ffmpeg2.7.1SDL1.2将代码格式化后如下://原创 2015-08-31 11:11:54 · 651 阅读 · 0 评论 -
Tutorial 02: Outputting to the Screen
这个例子主要是播放视频的,和tutorial01有很多相似的地方。这里就不一一叙述了。// tutorial02.c// A pedagogical video player that will stream through every video frame as fast as it can.//// This tutorial was written by Stephe原创 2015-08-31 11:17:08 · 534 阅读 · 0 评论 -
Tutorial 04: Spawning Threads
看了下tutorial04,这个例子生成了2个新的线程来处理播放。不同的线程之间需要同步,一下就复杂起来了。我加了一些调试信息帮助我理解代码。程序代码// tutorial04.c// A pedagogical video player that will stream through every video frame as fast as it can,// and原创 2015-08-31 16:59:21 · 723 阅读 · 0 评论 -
Tutorial 03: Playing Sound
播放声音和播放视频数有点区别的。这里将解码得到的音频AVPacket放到一个一个的队列中,然后在SDL的回调函数里面取每一个AVPacket,并将其解码,将得到的buffer填充到SDL请求获取的buffer中。这里需要注意的是: 在audio_decode_frame的avcodec_decode_audio4函数里面,我们获取到的每一个AVFrame,都需要判断其格式,因为SD原创 2015-08-31 11:23:57 · 149 阅读 · 0 评论 -
Tutorial 05: Synching Video
看了很多的例子。本章需要学习的是视频同步,有很多新知识需要学习。我就先把代码翻译一下。CAVEAT第一次写这个入门教程时,所有的同步代码都来至于ffplay.c。然而今天,这是一个完全改版的程序,因为ffmpeg库(包括ffplay.c)都在策略上有所改变。虽然当前的代码可以工作,但是并不好,而且这个教程里的代码还有很大的提升空间。视频同步的原理(How V原创 2015-08-31 19:09:56 · 1042 阅读 · 0 评论