日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 下面编译FFMPEG

發布時間:2025/3/19 linux 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 下面编译FFMPEG 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.安裝SDL,

1、make時出現?fatal error: X11/extensions/XShm.h: No such file or directory

解決辦法:搜到的解決辦法是

sudo apt-get install x11proto-xext-dev

sudo apt-get install libxext-dev

========================================================================

2、之后make又出現以下問題:

./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for _XData32?
?SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
? ? ? ? ? ? ? ? ?^
./src/video/x11/SDL_x11dyn.c:95:5: note: in definition of macro 釹DL_X11_SYM?
? rc fn params { ret p##fn args ; }
? ? ?^
In file included from ./src/video/x11/SDL_x11dyn.h:34:0,
? ? ? ? ? ? ? ? ?from ./src/video/x11/SDL_x11dyn.c:26:
/usr/include/X11/Xlibint.h:568:12: note: previous declaration of 鈅XData32?was here
?extern int _XData32(
? ? ? ? ? ? ^
make: *** [build/SDL_x11dyn.lo] Error 1


解決方案:查閱了一些資料,發現是libx11-dev版本問題(查看版本如圖),版本>1.5.99,所以需要修改src/video/x11/SDL_x11sym.h 文件,按照提示修改168行,


修改如下:

原來是:SDL_X11_SYM(int,_XData32,(Display *dpy,register ?long *data,unsigned len),(dpy,data,len),return)

改后添加一個單詞即可:(_Xconst)

SDL_X11_SYM(int,_XData32,(Display *dpy,register_Xconst long *data,unsigned len),(dpy,data,len),return)


再make 和 sudo make install就可以了。



2.將FFMPEG不要拷到共享目錄,拷到/usr/local/ffmpeg下面,


到ffmpeg的官網下載最新的源碼包http://www.ffmpeg.org/。并解壓到你習慣的位置(我這里依然解壓在/根目錄下)然后對他的配置文件稍作修改,原因是為了讓編譯出來的so庫適合Android。

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'

LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'

SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'

改成

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'

LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'

SLIB_INSTALL_LINKS='$(SLIBNAME)'

這里無腦改即可,不需要做其它修改。


下面執行:

./configure --enable-shared --disable-yasm --enable-ffplay --prefix=/usr/local/ffmpeg


3.make install

4.要把安裝后的所有SO,拷貝到/usr/local/lib下,才能運行,或者程序運行時,指定運行加載的庫路徑。

總結

以上是生活随笔為你收集整理的linux 下面编译FFMPEG的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。