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.1 SDL1.2 将代码格式化后如下: //原创 2015-08-31 11:11:54 · 653 阅读 · 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 · 538 阅读 · 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 · 727 阅读 · 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 · 153 阅读 · 0 评论 -
Tutorial 05: Synching Video
看了很多的例子。本章需要学习的是视频同步,有很多新知识需要学习。我就先把代码翻译一下。 CAVEAT 第一次写这个入门教程时,所有的同步代码都来至于ffplay.c。然而今天,这是一个完全改版的程序,因为ffmpeg库(包括ffplay.c)都在策略上有所改变。虽然当前的代码可以工作,但是并不好,而且这个教程里的代码还有很大的提升空间。 视频同步的原理(How V原创 2015-08-31 19:09:56 · 1050 阅读 · 0 评论