Hướng dẫn cách convert video và audio thông qua FFmpeg

Công việc chuyển đổi định dạng các file video và audio sang các định dạng khác nhau theo yêu cầu của khách hàng hay bạn bè nhờ vả. Anh chị em trong ngành công nghệ thông tin nói chung hay được nhờ vả lắm. Tại sao lại thế nhỉ? Đơn giản vì các bạn học ngành khác luôn coi học ngành IT là biết tuốt, nên những việc đơn giản như cài win, diệt virus, tạo video gì đó đều được nhờ.

Đặc biệt mình cũng gặp các bạn ngành khác nhờ mình chuyển đổi video hay file audio sang các dạng khác nhau. Đợt trước mình thường hay dùng các tool có sắn trên mạng, nó build sẵn UI mình chỉ việc download về dùng. Đặc thù ở Việt Nam cái gì có bản quyền đều dùng crack hết @@

Haizz, dùng crack nhiều thành ra phổ biển và ai cũng mặc định là muốn dùng free mà không suy nghĩ gì. Nhưng vấn đề ở đây cực kỳ nghiêm trọng, vì sao ư?

Bạn tìm crack các phần mềm khác nhau hay đơn giản như xem bóng đá Asiad chui của một kênh livestream nào đó vô tình đã cố súy cho hành vi ăn cắp chất xám và vi phạm bản quyền nghiêm trọng rồi. Chúng ta sống ở Việt Nam thì vấn đề này không được coi trọng, nhưng thực chất đó là hành vi cực kỳ nguy hiểm chẳng khác nào cổ súy cho hành vi trộm cắp cả. @@ 😦

Nói thế để các bạn biết mình đã rút ra kinh nghiệm khi dùng crack rồi, vì không chỉ là vấn đề bản quyền mà còn là vấn đề dùng crack dễ bị hacker lợi dụng để thực hiện ý đồ xấu.

Dài dòng thế đủ rồi 😄 Bài viết này mình xin giới thiệu một tool convert video và audio sang định dạng khác hoàn toàn miễn phí, bạn không phải lo vấn đề bản quyền hay đạo đức khi dùng tool này cả.

Giới thiệu FFmpeg

Đó là FFmpeg một mã nguồn mở viết bằng ngôn ngữ C hoàn toàn miễn phí, cộng đồng phát triển và support từ mã nguồn này cực lớn, đa số các tool convert có tính phí hiện nay đều dùng core là FFmpeg. FFmpeg hỗ trợ đa nền tảng như windows, linux, Mac OSX, ...

Cài đặt và cách sử dụng FFmpeg

Ở đây mình xin nói qua về cách cài đặt trên 3 hệ điều hành phổ biến gồm: Windows, Linux và Mac OSX.

Hệ điều hành Windows

Cài đặt

https://www.ffmpeg.org/download.html#build-windows

Các bạn vào mục download trên trang chủ của FFmpeg tại đây sau đó tải về.

Sau khi download về, các bạn giải nén ra trên máy tính của mình, sau đó thiết lập FFmpeg là một biến môi trường như sau. Bạn vào mục Advanced systems settings => Enviroment Variables => Path => Điền đường link đến thưc mục vừa giải nén nhé.

Cách sử dụng

Sau khi hoàn thành bước trên các bạn tiếng hành convert video và audio theo ý mình thôi. Mở command line lên và convert theo ý mình thôi. Chạy lệnh cực kỳ nhanh.

ffmpeg -i input.avi -b:v 64k -bufsize 64k output.avi

Giả sử convert từ file .flv sang file mp4 ta dùng lệnh sau:

ffmpeg -i video.flv video.mpeg

Muốn xem thông tin video thì mình dùng lệnh sau:

ffmpeg -i video.mp4

Kết quả sẽ như sau:

ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 6.3.1 (GCC) 20170306
 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-netcdf --enable-shared --enable-version3
 libavutil 55. 58.100 / 55. 58.100
 libavcodec 57. 89.100 / 57. 89.100
 libavformat 57. 71.100 / 57. 71.100
 libavdevice 57. 6.100 / 57. 6.100
 libavfilter 6. 82.100 / 6. 82.100
 libavresample 3. 5. 0 / 3. 5. 0
 libswscale 4. 6.100 / 4. 6.100
 libswresample 2. 7.100 / 2. 7.100
 libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.22.100
 Duration: 00:43:18.69, start: 0.000000, bitrate: 1039 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x714 [SAR 1071:1072 DAR 120:67], 899 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 132 kb/s (default)
 Metadata:
 handler_name : SoundHandler
At least one output file must be specified

Muốn tìm hiểu sâu hơn các bạn có thể đọc tại doc của FFmpeg: https://ffmpeg.org/ffmpeg.html

Quy trình tạo ra file video or audio như sau:

Hệ điều hành Linux

Cài đặt

https://www.ffmpeg.org/download.html#build-linux

  • Với Ubuntu dùng các lệnh sau:
sudo apt-get install ffmpeg
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
  • Với Fedora, RHEL, CentOS dùng các lệnh sau:
sudo yum install epel-release

// Fedora 22 and later:
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

// RHEL 6.x, CentOS 6.x:
sudo 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

// RHEL 7.x, CentOS 7.x:
sudo 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


sudo yum install ffmpeg ffmpeg-devel

Mở terminal lên ta gõ lệnh ffmpeg kêt quả:

ffmpeg version 3.3 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 6.3.1 (GCC) 20170306
 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-netcdf --enable-shared --enable-version3
 libavutil 55. 58.100 / 55. 58.100
 libavcodec 57. 89.100 / 57. 89.100
 libavformat 57. 71.100 / 57. 71.100
 libavdevice 57. 6.100 / 57. 6.100
 libavfilter 6. 82.100 / 6. 82.100
 libavresample 3. 5. 0 / 3. 5. 0
 libswscale 4. 6.100 / 4. 6.100
 libswresample 2. 7.100 / 2. 7.100
 libpostproc 54. 5.100 / 54. 5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
Cách sử dụng

Cách sử dụng tương tự như dùng command trên Windows thôi

ffmpeg -i video.flv video.mpeg

Và kết quả sẽ hiện ra cho chúng ta test thôi. 😄

Hệ điều hành Mac OS

https://www.ffmpeg.org/download.html#build-mac

Trên MacOS cài rất đơn giản, bạn chỉ cần dùng lệnh

brew install ffmpeg

Việc sử dụng ffmpeg cũng giống với hệ điều hành windows và linux thôi 😃

ffmpeg -i file_example_OOG_1MG.ogg test_file.wav

Ngôn ngữ lập trình với FFmpeg

Ngoài ra các ngôn ngữ lập trình cũng có các package hỗ trợ convert video và audio dùng trên tool này như: PHP, Java, Ruby,...

Ví dụ một vài package phổ biến như sau:

FFmpeg không chỉ convert video và audio đâu nhé, cả các dạng file ảnh đều convert được hết và chạy thì cực nhẹ

Từ giờ trở đi các bạn FA nếu được các bạn nữ nhờ vả thì có bí kíp này rồi cứ nhiệt tình support đi nhé, biết đâu lại có gấu nhờ sự trợ giúp của tool FFmpeg =))

Tham khảo