Do là gần đây có nhiều bạn hỏi mình về câu hỏi cắt ghép video. Mà chúng ta ấy giỏi bị lỗi khi ghép nhiều đoạn clip với nhau.
Nguyên nhân gây lỗi là do các file video đó không tương đồng nhau (về định dạng, framerate, bitrate,...). Mà chuyện tương đồng là cần thiết nếu bạn có nhu cầu ghép bọn chúng lại thành một.
Vì vậy, câu hỏi lấy tin tức của video clip trước lúc ghép là vô cùng cần thiết. Qua đó, các bạn sẽ biết mình phải xử lý đoạn phim như thế nào trước lúc ghép chúng lại cùng với nhau.
Để đem thông tin video bằng FFmpeg có hai phương pháp là: áp dụng ffmpeg.exe và thực hiện ffprobe.exe (đây là 2 trong 3 công cụ có được sau khi thiết lập FFmpeg).
Lấy thông tin clip sử dụng ffmpeg
Câu lệnh
Để đem được thông tin clip bằng ffmpeg bạn cũng có thể sử dụng câu lệnh sau:ffmpeg -i input.mp4 -hide_banner
Trong đó:
Phân tích kết quảVí dụ lúc mình lấy thông tin của video bằng FFmpeg như sau:
Bạn có thể thấy clip mà mình thử nghiệm tại đây có thời lượng (duration) là 00:21:38.21 (tức ~ 21 phút 38 giây) với bitrate là 1123kb/s.
Ngoài ra, bạn cũng thấy rằng file này còn có 2 stream (hay hotline là 2 kênh cho dễ hiểu). Kênh 1 ứng cùng với Stream #0:0 với kênh 2 ứng cùng với Stream #0: 1.
Xem thêm: Sáu Kinh Nghiệm Bóc Tách Khối Lượng Nhà Dân Dụng Tốt Nhất 2022
Trong đó:
Kênh 2 (audio) có chuẩn aac; sample rate là 44100 Hz; music dạng stereo; bitrate là 127 kb/s.Đây là những thông tin của đoạn phim mà bạn phải biết. Xung quanh ra, nếu còn muốn biết thêm những thông tin hơn thế nữa thì chúng ta có thể sử dụng biện pháp ffprobe.exe như sau.
Lấy thông tin video sử dụng ffprobe.exe
Câu lệnh cơ bản
Câu lệnh cơ bản sử dụng ffprobe.exe để lấy thông tin clip là:ffprobe -v error -show_format -show_streams input.mp4
Kết trái hiển thị tương đối dài:
Dĩ nhiên, với yêu cầu thực hiện FFmpeg cơ phiên bản thì bản thân nghĩ rằng các bạn không cần thiết phải biết không còn những tin tức này.
Cái nào nên thì bản thân tra thôi. Nhưng, biết đâu đấy, sau này cần phải dùng thì sao nhỉ?
À nhưng mà ffprobe.exe còn hỗ trợ việc lấy ra thông tin đoạn phim dạng JSON hoặc XML. Khi đó, bạn cũng có thể sử dụng công dụng ở các nơi không giống nữa (khi lập trình sẵn hoặc viết script chạy tự động,...).
Lấy thông tin video clip dạng JSONĐể triển khai việc này bạn chỉ việc thêm cờ -print_format với mức giá trị json.
Khi đó, câu lệnh trên trở thành:
Lấy thông tin đoạn clip dạng XML
Tương tự, để mang thông tin clip dạng XML, bạn chỉ cần thêm cờ -print_format với giá trị là xml.Khi đó, câu lệnh bên trên trở thành:
Lời kết
Trên đây là 2 phương pháp để lấy thông tin video bằng FFmpeg. Nếu có gì không đúng sót, bạn vui vẻ góp ý cho chính mình biết trong phần comment phía dưới nhé!Tham khảo:
★ nếu như bạn thấy bài viết này hay thì nên theo dõi mình trên Facebook/Youtube để nhận được thông báo khi có bài viết mới duy nhất nhé: