tôi biên soạn libs ffmpeg trên của tôi Ubuntu 64-bit bằng cách sử dụng kịch bản sau đây:Tại sao lib ffmpeg của tôi quá lớn?
mkdir ~/ffmpeg_sources
# x264
cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-asm
make
make install
make distclean
#FFmpeg
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" -- enable-gpl \
--enable-libx264 --enable-x11grab --disable-yasm
make
make install
make distclean
hash -r
Nhưng libs cuối cùng là thực sự lớn (Ví dụ: libavcodec.a> 140 Mb). Bất kỳ ai biết tại sao libs của tôi quá lớn?
EDIT
Giải pháp của tôi:
- thêm tùy chọn "--disable-debug" vào ./configure. Kích thước của libavcodec của tôi giảm từ 150Mb xuống còn 12Mb!
- Xóa tất cả các codec không cần thiết: Thêm tùy chọn -disable-encoders, --disable-decoders và sau đó chỉ thêm codec bạn muốn bằng --enable-encoder = NAME và --enable-decoder = NAME. In danh sách bằng cách sử dụng ./configure --list-encoders --list-decoders. xem ./configure --help để biết thêm thông tin. (Libavcodec cuối cùng của tôi có kích thước 4Mo)
ffmpeg là một thư viện rất lớn với nhiều chức năng (nhiều codec khác nhau, v.v.) nên không có gì ngạc nhiên khi các tệp đầu ra lớn. Bạn có nghĩ rằng kích thước này là không chính xác hoặc ...? –
Tôi nghĩ vì tôi đã đọc rất nhiều chủ đề mà mọi người có libavcodec với kích thước <15 Mo. (ví dụ: http://ffmpeg-users.933282.n4.nabble.com/libavcodec-size-too-large-td4657129.html) . Tôi hiểu rằng nó chứa nhiều codec ... nhưng trên thực tế, tôi chỉ cần một codec: H.264 (x264). Vì vậy, tôi hiện đang tìm kiếm để loại bỏ các codec khác bằng cách sử dụng cờ biên dịch. – user3504221
Nó cũng giúp thêm '-s' vào cờ liên kết. – Antonio