FFMPEG là thư viện nổi tiếng dùng để convert video, tách âm thanh,… Với các công việc đơn giản như convert video thì dùng các tool free như Format Factory cũng được. Tuy nhiên với các file video quay từ camera, 1 số camera có định dạng lạ thì FFMPEG rất hữu dụng. Convert video bằng FFMPEG sẽ xử lý được các video khó.
Thí dụ như file dav quay từ IP camera thì FFMPEG sẽ convert tốt, các tool khác thì không. Đã thử với 1 số tool convert video tất cả đều báo failed. Có nhiều lý do như header của file bị lỗi, file có định dạng lạ,…
Giới thiệu
FFMPEG là thư viện mã nguồn mở với nhiều chức năng xử lý multimedia. Trong OpenCV có tích hợp FFMPEG để xử lý video stream.
Các bạn vào trang https://www.ffmpeg.org/download.html để download. Bài này giới thiệu cách convert video, nên các bạn download Windows packages để sử dụng: https://ffmpeg.zeranoe.com/builds/ (ở trang chủ ấn vào hình Windows sẽ hiện ra link)
Chọn Version, Architecture phù hợp, ở Linking chọn bản Static rồi ấn nút Download build.
Sau khi download về, các bạn giải nén ra tìm đến file /bin/ffmpeg.exe. Chương trình này có giao diện command line, nó sẽ giúp các bạn convert video.
Các câu lệnh
Convert video Chương trình sẽ dựa vào đường dẫn mà cho ra file định dạng tương ứng
ffmpeg.exe -i <input file> <output file>
ffmpeg.exe -i "E:\video\20180618_185619.dav" "E:\video\20180618_1856192.mp4"
Resize video Lưu ý phải theo đúng thứ tự
ffmpeg.exe -i <input file> -vf scale=”<file size>” <output file>
ffmpeg.exe -i "E:\Picture\20180618_1856192.mp4" -vf scale="480:360" "E:\Picture\20180618_1856193.mp4"
Ngoài ra các bạn có thể tìm hiểu thêm các câu lệnh khác trong tài liệu hướng dẫn: https://ffmpeg.org/ffmpeg.html