Mục lục [Ẩn]
FFmpeg là một trong những framework đa phương tiện tốt nhất chứa nhiều công cụ khác nhau cho các tác vụ khác nhau. Ví dụ: ffplay là một trình phát đa phương tiện di động có thể được sử dụng để phát các tệp âm thanh/video, ffmpeg có thể chuyển đổi giữa các định dạng tệp khác nhau, ffserver có thể được sử dụng để phát các chương trình phát sóng trực tiếp và ffprobe có thể phân tích luồng đa phương tiện.
Khung công tác này thực sự mạnh mẽ do sự đa dạng của các công cụ có sẵn, cung cấp giải pháp kỹ thuật tốt nhất cho người dùng. Theo mô tả của FFmpeg trên trang web chính thức, lý do để có một khung đa phương tiện tuyệt vời như vậy là sự kết hợp của các tùy chọn phần mềm miễn phí tốt nhất hiện có.
Khuôn khổ FFmpeg bảo mật cao và lý do cho điều này là seriosity của các nhà phát triển khi họ xem xét mã, nó luôn luôn thực hiện với an ninh trong tâm trí.
Tôi rất chắc chắn rằng bạn sẽ thấy khung công tác này rất hữu ích khi bạn muốn thực hiện một số kỹ thuật âm thanh và video phát trực tuyến hoặc ghi âm. Có rất nhiều việc thực tế khác mà bạn có thể làm với sự trợ giúp của FFmpeg framework chẳng hạn như chuyển đổi tệp wav của bạn thành tệp mp3, mã hóa và giải mã video của bạn hoặc thậm chí chia tỷ lệ chúng.
Theo trang web chính thức, FFmpeg có thể làm được những điều sau đây.
+ Giải mã tệp đa phương tiện
+ Mã hóa tệp đa phương tiện
+ Chuyển mã tệp đa phương tiện
+ Tệp mux đa phương tiện
+ Demux tệp đa phương tiện
+ Luồng tệp đa phương tiện
+ Lọc tệp đa phương tiện
+ Phát tệp đa phương tiện
Để tôi lấy một ví dụ, một ví dụ rất đơn giản. Lệnh sau sẽ chuyển đổi tệp mp4 của bạn thành tệp avi, đơn giản như vậy.
# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi
Lệnh trên chỉ hữu ích để giải thích, không nên sử dụng trong thực tế vì codec, bitrate và các chi tiết cụ thể khác không được khai báo.
Trong phần tiếp theo, chúng ta sẽ thực hành với một số công cụ khung đa phương tiện FFmpeg, nhưng trước khi thực hiện chúng ta phải cài đặt chúng trong Linux của mình.
Cách cài đặt FFmpeg Multimedia Framework trong Linux
Vì các gói FFmpeg được cung cấp cho các bản phân phối Linux được sử dụng nhiều nhất và việc cài đặt sẽ tương đối dễ dàng. Hãy bắt đầu với việc cài đặt khung FFmpeg trong các bản phân phối dựa trên Ubuntu.
Cài đặt FFmpeg trên Ubuntu và Linux Mint
Tôi sẽ cài đặt FFmpeg từ kho lưu trữ mặc định. Mở một thiết bị đầu cuối mới (CTRL + ALT + T) và sau đó chạy các lệnh sau.
$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version
Cài đặt FFmpeg trên Debian
Các gói FFmpeg được bao gồm trong các kho Debian chính thức và có thể được cài đặt bằng cách sử dụng quản lý gói như hình vẽ.
$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version
Cài đặt FFmpeg trên CentOS và RHEL
Để cài đặt FFmpeg trên các bản phân phối CentOS và RHEL, bạn cần bật kho lưu trữ EPEL và RPM Fusion trên hệ thống bằng các lệnh sau.
Để cài đặt và kích hoạt EPEL, hãy sử dụng lệnh sau.
# yum install epel-release
Để cài đặt và bật RPM Fusion, hãy sử dụng lệnh sau trên phiên bản phân phối của bạn.
-------------- On CentOS & RHEL 8.x --------------
# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
-------------- On CentOS & RHEL 7.x --------------
# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
-------------- On CentOS & RHEL 6.x --------------
# yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm
Sau khi bật kho lưu trữ, hãy chạy lệnh sau để cài đặt FFmpeg:
# yum install ffmpeg ffmpeg-devel
# ffmpeg -version
Cài đặt FFmpeg trên Fedora
Trên Fedora, bạn cần cài đặt và kích hoạt RPM Fusion để cài đặt FFmpeg như hình.
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
$ sudo dnf install ffmpeg ffmpeg-devel
$ ffmpeg -version
Cài đặt FFmpeg trên Arch Linux
$ sudo pacman -S ffmpeg
$ yay -S ffmpeg-git
$ yay -S ffmpeg-full-git
$ ffmpeg -version
Cài đặt FFmpeg trên OpenSUSE
-------------- On openSUSE Tumbleweed --------------
$ sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman
$ sudo zypper refresh
$ sudo zypper install --from packman ffmpeg
$ ffmpeg -version
-------------- On openSUSE Leap --------------
$ sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman
$ sudo zypper refresh
$ sudo zypper install --from packman ffmpeg
$ ffmpeg -version
FFmpeg biên dịch từ nguồn
Phần mềm biên dịch từ một nguồn không phải là điều dễ dàng nhất trên thế giới nhưng với những hướng dẫn đúng đắn, chúng tôi sẽ làm được. Đầu tiên, hãy đảm bảo rằng hệ thống của bạn đáp ứng tất cả các yếu tố phụ thuộc. Việc cài đặt các phần phụ thuộc này có thể được thực hiện với sự trợ giúp của các lệnh sau.
Đầu tiên, yêu cầu hệ thống kéo xuống các gói mới nhất.
$ sudo apt-get update
Cài đặt các phần phụ thuộc bằng lệnh sau.
-------------- On Debian & Ubuntu --------------
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev
libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
-------------- On CentOS and RHEL --------------
# yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig SDL-devel
a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel freetype-devel giflib gsm gsm-devel
imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel libXau-devel libXdmcp-devel
libXext-devel libXrandr-devel libXrender-devel libXt-devel libogg libvorbis vorbis-tools mesa-libGL-devel
mesa-libGLU-devel xorg-x11-proto-devel zlib-devel libtheora theora-tools ncurses-devel libdc1394 libdc1394-devel
amrnb-devel amrwb-devel opencore-amr-devel
Sau đó sử dụng lệnh sau để tạo một thư mục mới cho các nguồn FFmpeg. Đây là thư mục chứa các tệp nguồn sẽ được tải xuống.
$ mkdir ~ /ffmpeg_sources
Bây giờ biên dịch và cài đặt trình yasm được FFmpeg sử dụng bằng cách chạy các lệnh sau.
$ cd ~/ffmpeg_sources
$ wget https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
$ tar xzvf yasm-1.3.0.tar.gz
$ cd yasm-1.3.0
$ ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
$ make
$ make install
$ make distclean
$ export "PATH=$PATH:$HOME/bin"
Sau khi bạn đã thành công đã cài đặt trình yasm, đã đến lúc cài đặt một số bộ mã hóa khác nhau sẽ được sử dụng với các công cụ FFmpeg cụ thể. Sử dụng các lệnh sau để cài đặt H.264 bộ mã hóa video.
$ cd ~/ffmpeg_sources
$ wget https://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
$ make
$ make install
$ make distclean
Một bộ mã hóa hữu ích khác là libfdk-aac AAC bộ mã hóa âm thanh.
$ cd ~/ffmpeg_sources
$ wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
$ unzip fdk-aac.zip
$ cd mstorsjo-fdk-aac*
$ autoreconf -fiv
$./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean
Cài đặt libopus bộ giải mã và mã hóa âm thanh.
$ cd ~/ffmpeg_sources
$ wget https://downloads.xiph.org/releases/opus/opus-1.1.tar.gz
$ tar xzvf opus-1.1.tar.gz
$ cd opus-1.1
$ ./configure --prefix="$HOME/ffmpeg_build" --disable-shared
$ make
$ make install
$ make distclean
Bây giờ, đã đến lúc cài đặt ffmpeg từ nguồn.
$ cd ~/ffmpeg_sources
$ wget https://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-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus
--enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
$ make
$ make install
$ make distclean
$ hash -r
Lưu ý: Nếu bạn chưa cài đặt một số bộ mã hóa nhất định, hãy đảm bảo xóa '–enable-encoder_name' khỏi lệnh './configure' ở trên để quá trình cài đặt được hoàn tất mà không gặp bất kỳ sự cố nào.
Có rất nhiều bộ mã hóa mà bạn có thể cài đặt, nhưng mục đích của bài viết này là tôi sẽ không cài đặt tất cả chúng, nhưng bạn có thể cài đặt chúng bằng cách sử dụng các hướng dẫn chính thức như trên.
Tổng kết
RSS là một định dạng chuẩn hóa được sử dụng để cung cấp nội dung thường xuyên thay đổi trên web. Trong bài viết này, chúng tôi đã giải thích 16 trình đọc RSS Feed cho hệ thống Linux. Nếu chúng tôi bỏ lỡ bất kỳ ứng dụng nào trong danh sách trên, hãy cho chúng tôi biết qua biểu mẫu phản hồi bên dưới.
+ Fanpage: https://www.facebook.com/nhanhoacom
+ Chỉ đường: https://g.page/nhanhoacom
+ Chương trình khuyến mãi mới nhất: https://nhanhoa.com/khuyen-mai.html
————————————————————
CÔNG TY TNHH PHẦN MỀM NHÂN HÒA
Hotline: 1900 6680
Trụ sở chính: Tầng 4 - Tòa nhà 97-99 Láng Hạ, Đống Đa, Hà Nội
Tel: (024) 7308 6680 – Email: sales@nhanhoa.com
Chi nhánh TP. Hồ Chí Minh: 270 Cao Thắng (nối dài), Phường 12, Quận 10, Tp.HCM
Tel: (028) 7308 6680 – Email: hcmsales@nhanhoa.com
Chi nhánh Vinh - Nghệ An: Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An
Tel: 0915221384 – Email: contact@nhanhoa.com