Chinaunix首页 | 论坛 | 博客
  • 博客访问: 388936
  • 博文数量: 55
  • 博客积分: 1907
  • 博客等级: 上尉
  • 技术积分: 869
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-04 19:30
文章分类

全部博文(55)

文章存档

2011年(32)

2010年(23)

分类: 嵌入式

2011-02-14 19:36:23

An ffmpeg and SDL Tutorial
or
How to Write a Video
Player in Less Than 1000 Lines.
 
 
WARNING: This utorial is slightly out of date.

So far the only change you have to make is to swap the now-defunct img_convert function with the sws_scale function as I've been meaning to update this for a long time now, so this is a good excuse to start doing so. I have had a lot of helpful suggestions and answers from lots of people building up over the last 3 years, so if you've emailed me, thank you very much for your contribution! This tutorial should hopefully be updated shortly.

is a wonderful library for creating video applications or even general purpose utilities. ffmpeg takes care of all the hard work of video processing by doing all the decoding, encoding, muxing and demuxing for you. This can make media applications much simpler to write. It's simple, written in C, fast, and can decode almost any codec you'll find in use today, as well as encode several other formats.

The only prolem is that documentation is basically nonexistent. There is a that shows the basics of ffmpeg and auto-generated doxygen documents. That's it. So, when I decided to learn about ffmpeg, and in the process about how digital video and audio applications work, I decided to document the process and present it as a tutorial.

There is a sample program that comes with ffmpeg called ffplay. It is a simple C program that implements a complete video player using ffmpeg. This tutorial will begin with an updated version of the original tutorial, written by (I have stolen liberally borrowed from that work), and work from there to developing a working video player, based on Fabrice Bellard's ffplay.c. In each tutorial, I'll introduce a new idea (or two) and explain how we implement it. Each tutorial will have a C file so you can download it, compile it, and follow along at home. The source files will show you how the real program works, how we move all the pieces around, as well as showing you the technical details that are unimportant to the tutorial. By the time we are finished, we will have a working video player written in less than 1000 lines of code!

In making the player, we will be using to output the audio and video of the media file. SDL is an excellent cross-platform multimedia library that's used in MPEG playback software, emulators, and many video games. You will need to download and install the SDL development libraries for your system in order to compile the programs in this tutorial.

在阅读这篇教程时我们需要哪些基础?

----------------------------------------------------------------------------------

This tutorial is meant for people with a decent programming background. At the very least you should know C and have some idea about concepts like queues, mutexes, and so on. You should know some basics about multimedia; things like waveforms and such, but you don't need to know a lot, as I explain a lot of those concepts in this tutorial.

---------------------------------------------------------------------------------------------

There are printable HTML files along the way as well as old school ASCII files. You can also get a tarball of the or You can get a or

UPDATE: I've fixed a code error in Tutorial 7 and 8, as well as adding -lavutil.

Please feel free to email me with bugs, questions, comments, ideas, features, whatever, at dranger at gmail dot com.

 

 

阅读(2655) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~