Cài đặt và sử dụng FFmpeg trên Ubuntu 20.04

Install Use Ffmpeg Ubuntu 20



FFmpeg là một công cụ mạnh mẽ được sử dụng để chuyển mã các tệp đa phương tiện. Nó là một công cụ CLI mã nguồn mở có sẵn cho tất cả các nền tảng chính. Chương trình này hỗ trợ một loạt các thư viện âm thanh và video, bao gồm libavformat , libavutil , libavcodec , v.v. FFmpeg có thể chuyển đổi âm thanh và video thành các định dạng khác nhau, thay đổi kích thước và định cấu hình tỷ lệ mẫu, v.v.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và sử dụng FFmpeg trong Ubuntu 20.04.







Cài đặt FFmpeg trong Ubuntu

Có hai cách chính thức để cài đặt FFmpeg trên Ubuntu: từ repo Ubuntu (v7.x) và từ snap (v4.x). Tùy theo nhu cầu mà bạn nên chọn cho mình phương pháp phù hợp nhất.



Cũng có thể biên dịch và cài đặt FFmpeg từ nguồn. Tuy nhiên, phương pháp này hơi phức tạp và bạn không nên làm theo phương pháp này trừ khi bạn có lý do cụ thể để làm như vậy.



Cài đặt FFmpeg từ Ubuntu Repo

Đây là phương pháp mặc định để cài đặt FFmpeg. Tất cả những gì bạn phải làm là yêu cầu APT lấy và cài đặt chương trình từ kho phần mềm Ubuntu mặc định.





Kích hoạt một thiết bị đầu cuối, cập nhật bộ đệm APT và cài đặt FFmpeg.

$sudocập nhật apt



$sudođúng cáchTải về ffmpeg

Hãy để chúng tôi xác minh xem cài đặt có thành công hay không. Đầu tiên, hãy kiểm tra phiên bản FFmpeg thông qua lệnh sau:

$ffmpeg -v

Đừng quên kiểm tra các bộ mã hóa và bộ giải mã có sẵn. Làm như vậy bằng cách nhập lệnh sau:

$ffmpeg -encoders

$ffmpeg -decoders

Cài đặt FFmpeg từ snap

FFmpeg cũng có sẵn dưới dạng gói nhanh. Nếu bạn chưa định cấu hình snap, thì bạn có thể cài đặt nó ngay lập tức bằng cách ra lệnh sau:

$sudocập nhật apt&& sudođúng cáchTải vềsnapd-và

$sudobúng tayTải vềlõi lõi20&& sudosystemctl khởi động lại snapd

Bây giờ, hệ thống của bạn đã sẵn sàng để lấy và cài đặt các gói snap từ cửa hàng Snapcraft. Xem FFmpeg trên Snapcraft .

$sudobúng tayTải về ffmpeg

Kiểm tra cài đặt FFmpeg bằng cách nhập lệnh sau:

$ffmpeg -phiên bản

$ffmpeg -encoders
$ffmpeg -decoders

Cài đặt FFmpeg từ Mã nguồn

FFmpeg là một công cụ mã nguồn mở. Do đó có thể xây dựng chương trình này theo cách thủ công từ mã nguồn. Phương pháp này chỉ được khuyến nghị nếu bạn muốn tạo một bản dựng tùy chỉnh, muốn dùng thử phiên bản mới nhất hoặc muốn kiểm tra lỗi. Để sử dụng chung, hãy làm theo các phương pháp khác để cài đặt chương trình này. Xem hướng dẫn biên dịch FFmpeg chính thức cho Ubuntu .

Xây dựng FFmpeg từ nguồn yêu cầu một số phụ thuộc. Nhập các lệnh sau để tải xuống các phần phụ thuộc:

$sudocập nhật apt

$sudođúng cáchTải về
$autoconf
$tự động hóa
$ build-essential
$ cmake
$ git-core
$ libass-dev
$ libfreetype6-dev
$ libgnutls28-dev
$ libsdl2-dev
$ libtool
$ libva-dev
$ libvdpau-dev
$ libvorbis-dev
$ libxcb1-dev
$ libxcb-shm0-dev
$ libxcb-xfixes0-dev
$ pkg-config
$ texinfo
$wget
$ yasm
$ zlib1g-dev

Bây giờ, hãy chuẩn bị một thư mục chuyên dụng để lưu trữ mã nguồn và các tệp nhị phân đã biên dịch.

$mkdir -pv~/ffmpeg_source ~/

Bây giờ đã đến lúc chuẩn bị một số thư viện của bên thứ ba. Đây là những cái phổ biến nhất được sử dụng với FFmpeg. Nếu bạn không cần một hoặc nhiều thư viện này, hãy bỏ qua phần có liên quan và bỏ qua phần được liên kết ./configure Lựa chọn.

  • NASM: Một trình hợp dịch mà một số thư viện dựa vào.
$sudođúng cáchTải về nasm

  • libx264: Bộ mã hóa video H.264.
$sudođúng cáchTải về -vàlibx264-dev

  • libx265: Bộ mã hóa video H.265 (còn được gọi là HEVC).
$sudođúng cáchTải về -vàlibx265-dev libnuma-dev

  • libvpx: Bộ mã hóa / giải mã video VP8 / VP9.
$sudođúng cáchTải về -vàlibvpx-dev

  • libfdk-aac: Bộ mã hóa âm thanh AAC.
$sudođúng cáchTải về -vàlibfdk-aac-dev

  • libmp3lame: Bộ mã hóa âm thanh MP3.
$sudođúng cáchTải vềlibmp3lame-dev
  • libopus: Bộ mã hóa / giải mã âm thanh Opus.
$sudođúng cáchTải vềlibopus-dev
  • libaom: Bộ mã hóa / giải mã video AV1. Lưu ý rằng nếu bạn định sử dụng cái này, quá trình biên dịch có thể không thành công. Theo wiki chính thức của FFmpeg, có vẻ như gói này chưa có API ổn định. Bạn nên tránh điều này.
$sudođúng cáchTải về -vàlibaom-dev

Bây giờ bạn đã sẵn sàng để bắt đầu xây dựng FFmpeg từ nguồn. Lấy mã nguồn bằng cách phát hành như sau:

$đĩa CD~/ffmpeg_source
$wget -HOẶCffmpeg-snapshot.tar.bz2 https://ffmpeg.org/phát hành/ffmpeg-snapshot.tar.bz2

$nhựa đường -xvfffmpeg-snapshot.tar.bz2

$đĩa CD ffmpeg

Cập nhật biến môi trường PATH và chạy tập lệnh cấu hình.

$CON ĐƯỜNG='$ HOME/là:$ PATH' PKG_CONFIG_PATH='$ HOME/ ffmpeg_build / lib / pkgconfig './cấu hình
$--tiếp đầu ngữ='$ HOME/ ffmpeg_build '
$--pkg-config-flags='--static'
$--extra-cflags='-TÔI$ HOME/ ffmpeg_build / include '
$--extra-ldflags='-NS$ HOME/ ffmpeg_build / lib '
$--extra-libs='-lpthread -lm'
$- quá tải='$ HOME/là'
$--enable-gpl
$--enable-gnutls
$--enable-libaom
$--enable-libass
$--enable-libfdk-aac
$--enable-libfreetype
$--enable-libmp3lame
$--enable-libopus
$--enable-libvorbis
$--enable-libvpx
$--enable-libx264
$--enable-libx265
$--enable-nonfree

Trong quá trình này, bạn có thể gặp lỗi gnutls not found khi sử dụng pkg-config. Để giải quyết vấn đề này, một gói nhất định phải có trong hệ thống. Bạn có thể cài đặt gói có liên quan và sửa lỗi này bằng cách đưa ra lệnh sau:

$sudođúng cáchTải về -vàlibunistring-dev

Bây giờ, hãy chạy lại tập lệnh cấu hình.

Chạy chế tạo lệnh để bắt đầu biên dịch FFmpeg. Sử dụng cờ -j để chạy biên dịch song song nhằm tăng tốc quá trình.

$CON ĐƯỜNG='$ HOME/là:$ PATH' chế tạo -j4

Bây giờ bạn có thể cài đặt phiên bản FFmpeg mà bạn vừa tạo từ nguồn thông qua lệnh sau:

$sudo chế tạo Tải về

$băm -NS

Tải lại trình bao bash để nhận ra vị trí nhị phân FFmpeg mới.

$nguồn~/.Hồ sơ

Kiểm tra cài đặt FFmpeg thông qua các lệnh sau:

$ffmpeg -phiên bản

$ffmpeg -encoders
$ffmpeg -decoders

Sử dụng FFmpeg

Sau khi làm theo các bước trên, bạn đã cài đặt thành công FFmpeg. Đã đến lúc học cách sử dụng nó. Phần này sẽ cho bạn thấy một số cách sử dụng phổ biến nhất của công cụ này.

Đầu tiên, chuyển đổi một tệp video từ định dạng MP4 sang WebM. Cái hay của FFmpeg là bạn không phải chỉ định định dạng đầu vào và đầu ra. FFmpeg sẽ tự động phát hiện định dạng nguồn và đích và hành động tương ứng. Ở đây, cờ -hide_banner được sử dụng để vô hiệu hóa thông tin cấu hình mà FFmpeg báo cáo trên mỗi lần chạy.

$ffmpeg-hide_banner-tôi <đầu vào> <đầu ra>

Bây giờ chúng ta hãy xem xét chuyển đổi các tệp âm thanh. Chuyển đổi MP3 sang OGG.

$ffmpeg-hide_banner-tôidemo.mp3 demo.ogg

Khi chuyển đổi tệp, cũng có thể chỉ định codec. Sử dụng cờ -c, theo sau là tên của bất kỳ bộ mã hóa / giải mã nào được hỗ trợ hoặc bản sao giá trị đặc biệt. Ví dụ: bạn có thể chuyển đổi MP4 sang định dạng WebM bằng codec video libvpx và codec âm thanh libvorbis.

$ffmpeg-hide_banner-tôidemo.mp4 -c: v libvpx -c: a libvorbis demo.webm

Tương tự, cũng có thể chuyển đổi định dạng âm thanh bằng cách sử dụng codec được chỉ định. Ví dụ: bạn có thể chuyển đổi một tệp MP3 sang OGG bằng cách sử dụng libopus codec.

$ffmpeg-hide_banner-tôidemo.mp3 -c: a libopus demo.ogg

Lời kết

FFmpeg là một công cụ mạnh mẽ để làm việc với các tệp phương tiện. Có rất nhiều hướng dẫn về các tính năng khác nhau của FFmpeg và cách sử dụng nó. Hãy khám phá thêm về công cụ tuyệt vời này. Lấy một vài tệp phương tiện demo và thực hành với chúng để thành thạo FFmpeg. Hãy xem hướng dẫn thú vị này về cách chuyển đổi nhiều hình ảnh thành một tệp video .
Thưởng thức!