歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Ubuntu 搭建 SDL+FFmpeg

在Ubuntu Linux下安裝了ffmpeg加載了sdl,編譯運行了ffplay.c.tutorial01-08.c.過程記錄如下:

1.安裝ffmpeg,就是一裸體,呵呵,我什麼都沒加載。對於剛入門的話,沒必要裝那麼多選項,等用到了什麼在加上去吧,我將在以後會吧那些選項加上,目前我只想閱讀源碼。

2.安裝SDL:

因為ubuntu裡面有SDL,所以直接在命令窗口輸入以下就可以了:

sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-net1.2-dev libsdl-sound1.2-dev

檢測SDL裝上了沒有:sdl-config --exec-prefix --version --cflags

2)ffmpeg不講了,網上一大堆,步驟也繁瑣,我就裝了一個裸體

下載源碼
./configure --enable-shared --enable-pthreads
make

make install

3.對文件的編譯命令,很雜:

     典型的例子:

    gcc  -o player ffplay.c cmdutils.c -I/home/han/soft/ffmpeg_src  -lavformat -lavcodec  -lavcore -lavdevice -lavfilter  -lswscale -lavutil  -I/usr/include/SDL -lSDL -lSDLmain

   -lm  -lz

或者

   gcc -o tutorial07 tutorial07.c -lavformat -lavcodec  -lavcore -lavdevice -lavfilter  -lswscale -lavutil  -lz -lm `sdl-config --cflags --libs`

-lz的下載:

這類錯誤:

/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
這是由於缺少libz庫

我是這樣解決的:在名狂直接輸入:apt-get install zlib1g-dev

/usr/bin/ld: cannot find -l* 錯誤的解決方法……

碰到這個問題大概可以用這個方法去解決(我碰到幾個都是這樣搞定的):
yum -y install libtool-l*
譬如:
/usr/bin/ld: cannot find -lltdl
解決方法:
yum -y install libtool-ltdl*
 
-lm:一些數學公式等系統內部庫,不用管。

ffmpeg那幾個tutorial編譯的時候,出現rint那個函數錯誤:只需要注釋掉就可以了:

/*

int rint(int x)

{

 return (int)(x + (x < 0 ? -0.5 : 0.5));

}

*/

附加:測試電影最好是.mpg文件。

Copyright © Linux教程網 All Rights Reserved