国产与第三方库FFmpeg SDK
生活随笔
收集整理的這篇文章主要介紹了
国产与第三方库FFmpeg SDK
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一個(gè)、編譯并安裝第三方庫(kù)
1. libfaac
# tar -zxvf faac-1.28.tar.gz
# cd faac-1.28
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
2. libmp3lame
# tar -zxvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
3.libx264
# tar -xvf x264-snapshot-20110818-2245.tar
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
4. librtmp
# tar -xvf rtmpdump_git0819.tar
# cd rtmpdump
# cd librtmp
# vim Makefile
#prefix=/usr/local
prefix=YOUR_SDK_INSTALL_DIRECTORY
...
#CRYPTO=OPENSSL
CRYPTO=
...
#SO_LDFLAGS_posix=-shared -Wl,-soname,$@?
SO_LDFLAGS_posix=-Wl,-soname,$@
...
#SHARED=yes
SHARED=no?
【保存并退出】
# make
# cd ..
# vim Makefile
#prefix=/usr/local
prefix=YOUR_SDK_INSTALL_DIRECTORY
【保存并退出】
# make SYS=darwin XDEF=-DNO_SSL CRYPTO= SHARED=
# make; make install
二、FFmpeg SDK的編譯與安裝
1. 改動(dòng)FFmpeg 的 configure
# cd ffmpeg
# vim configure
$vim configure
...
#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled librtmp && { check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lpolarssl -lwinmm -lws2_32 ||
? ? ? ? ? ? ? ? ? ? ? ? check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lssl -lcrypto -lz ||
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? die "ERROR: librtmp not found or RTMP_Socket() missing, librtmp?
version must be >= 2.2.f"; }
【保存并退出】
2. FFmpeg SDK
# vim ffmpeg_configure.sh
#!/bin/sh
./configure \
--prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY \
--enable-gpl --enable-nonfree --enable-version3 \
--disable-shared --enable-static \
--enable-pthreads --enable-runtime-cpudetect \
--enable-zlib --enable-bzlib \
--enable-postproc \
--extra-cflags='-I/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/include -DREDIRECT_DEBUG_LOG' \
--extra-ldflags='-L/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/lib -gl' \
--disable-encoder=aac \
--enable-libfaac --enable-encoder=libfaac \
--enable-libmp3lame --enable-encoder=libmp3lame \
--enable-libx264 --enable-encoder=libx264 \
--enable-librtmp \
--enable-avfilter --enable-filter=movie?
【保存并退出】
# chmod +x ffmpeg_configure.sh
# ./ffmpeg_configure.sh
# make; make install
三、應(yīng)用程序的編譯
# gcc output_example.c -g -o output_example?
-I/opt/YOUR_SDK_INSTALL_DIRECTORY/include -L/opt/YOUR_SDK_INSTALL_DIRECTORY/lib ?
-lavformat -lavdevice -lavcodec ?-lavutil -lavfilter -pthread -ldl -lswscale -lbz2 -lasound ?
-lmp3lame -lfaac -lx264 -lrtmp -lz -lm
1. libfaac
# tar -zxvf faac-1.28.tar.gz
# cd faac-1.28
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
2. libmp3lame
# tar -zxvf lame-3.98.4.tar.gz
# cd lame-3.98.4
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
3.libx264
# tar -xvf x264-snapshot-20110818-2245.tar
# ./configure --prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY --enable-static --disable-shared
# make; make install
4. librtmp
# tar -xvf rtmpdump_git0819.tar
# cd rtmpdump
# cd librtmp
# vim Makefile
#prefix=/usr/local
prefix=YOUR_SDK_INSTALL_DIRECTORY
...
#CRYPTO=OPENSSL
CRYPTO=
...
#SO_LDFLAGS_posix=-shared -Wl,-soname,$@?
SO_LDFLAGS_posix=-Wl,-soname,$@
...
#SHARED=yes
SHARED=no?
【保存并退出】
# make
# cd ..
# vim Makefile
#prefix=/usr/local
prefix=YOUR_SDK_INSTALL_DIRECTORY
【保存并退出】
# make SYS=darwin XDEF=-DNO_SSL CRYPTO= SHARED=
# make; make install
二、FFmpeg SDK的編譯與安裝
1. 改動(dòng)FFmpeg 的 configure
# cd ffmpeg
# vim configure
$vim configure
...
#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
enabled librtmp && { check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lpolarssl -lwinmm -lws2_32 ||
? ? ? ? ? ? ? ? ? ? ? ? check_lib librtmp/rtmp.h RTMP_Socket -lrtmp -lssl -lcrypto -lz ||
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? die "ERROR: librtmp not found or RTMP_Socket() missing, librtmp?
version must be >= 2.2.f"; }
【保存并退出】
2. FFmpeg SDK
# vim ffmpeg_configure.sh
#!/bin/sh
./configure \
--prefix=/opt/YOUR_SDK_INSTALL_DIRECTORY \
--enable-gpl --enable-nonfree --enable-version3 \
--disable-shared --enable-static \
--enable-pthreads --enable-runtime-cpudetect \
--enable-zlib --enable-bzlib \
--enable-postproc \
--extra-cflags='-I/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/include -DREDIRECT_DEBUG_LOG' \
--extra-ldflags='-L/opt/ffmpeg/sdk/ffmpeg-0.8.10.patched.sdk/lib -gl' \
--disable-encoder=aac \
--enable-libfaac --enable-encoder=libfaac \
--enable-libmp3lame --enable-encoder=libmp3lame \
--enable-libx264 --enable-encoder=libx264 \
--enable-librtmp \
--enable-avfilter --enable-filter=movie?
【保存并退出】
# chmod +x ffmpeg_configure.sh
# ./ffmpeg_configure.sh
# make; make install
三、應(yīng)用程序的編譯
# gcc output_example.c -g -o output_example?
-I/opt/YOUR_SDK_INSTALL_DIRECTORY/include -L/opt/YOUR_SDK_INSTALL_DIRECTORY/lib ?
-lavformat -lavdevice -lavcodec ?-lavutil -lavfilter -pthread -ldl -lswscale -lbz2 -lasound ?
-lmp3lame -lfaac -lx264 -lrtmp -lz -lm
版權(quán)聲明:本文博客原創(chuàng)文章,博客,未經(jīng)同意,不得轉(zhuǎn)載。
轉(zhuǎn)載于:https://www.cnblogs.com/bhlsheji/p/4710813.html
總結(jié)
以上是生活随笔為你收集整理的国产与第三方库FFmpeg SDK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA序列化和反序列化
- 下一篇: MySQL性能调优与架构设计——第4章