App kiếm tiền | Link đăng ký | Thông tin |
---|---|---|
Ngân hàng MSB | Tải App nhận tiền | Nhập mã: TAPTAP4 Kiếm tiền: 54.000đ/đơn |
Ngân hàng Techcombank | Tải App nhận tiền | Kiếm tiền: 78.000đ/đơn |
Ngân hàng Sacombank | Tải App nhận tiền | Nhập mã: AT123456 Kiếm tiền: 54.000đ/đơn |
Ngân hàng LioBank | Tải App nhận tiền | Kiếm tiền: 325.000đ/đơn |
Ngân hàng LPBank | Tải App nhận tiền | Kiếm tiền: 66.000đ/đơn |
Bài viết hôm nay mình xin chia sẻ cách làm Video Slideshow bằng ffmpeg kết hợp với file âm thanh. Chúng ta sẽ ghép toàn bộ ảnh có sẵn thành Video trình chiếu với sự hỗ trợ của ffmpeg, đồng thời có thể thêm vào Video một hoặc nhiều file âm thanh có sẵn một cách nhanh chóng.
Dành cho những ai muốn tạo Video bằng cách ghép nhiều ảnh thành Video trình chiếu và kết hợp bài hát vào Video trình chiếu đó. Bài này mình sẽ giới thiệu cách làm slideshow và kết hợp với 1 file mp3 hoặc một list mp3.
Video Slideshow kết hợp với 1 file âm thanh
1. Chuẩn bị hình ảnh đầu vào
Các ảnh để làm slideshow bạn cần chọn cùng một kích thước là tốt nhất và cùng 1 định dạng (bắt buộc) . Nếu các kích thước ảnh tỷ lệ khác nhau thì khi đưa vào làm slideshow thì ảnh sẽ bị co giãn và nhìn không được tự nhiên. Chuyển về cùng định dạng để khi chúng ta đưa vào code ffmpeg nó sẽ hiểu và lựa chọn các ảnh có định dạng mà chúng ta thiết lập (ví dụ .JPG, .PNG…)
Các file ảnh này chắc chắn cũng sẽ có những filename (tên file) khác nhau, chúng ta cũng phải tiến hành đổi tên về cùng 1 định dạng và theo thứ tự tăng dần (ví dụ image-001, image-002, image-003…). Việc đổi tên thủ công rất mất thời gian với số lượng ảnh lớn, vì vậy bạn chỉ cần chạy code dưới đây để toàn bộ hình ảnh được đổi tên về cùng một định dạng như trên.
dir *.png | %{$x=0} {Rename-Item $_ -NewName "image-$($x.tostring('000')).png"; $x++ }
Đoạn code trên chạy bằng PowerShell. Tại thư mục chứa các file ảnh bạn khởi động PowerShell (Win 10) bằng cách giữ phím Shift và click chuột phải, chọn Open PowerShell Windows here.
Copy đoạn code trên vào đây và nhấn Enter.
Bạn đã thấy toàn bộ image đã được đổi tên thành image-000.jpg đến image-xxx.jpg chưa nào?
OK bây giờ chúng ta có thư viện ảnh được dạng theo chuẩn image-%03d như vậy.
2. Làm Video slideshow bằng ffmpeg
Đưa vào code ffmpeg để cùng tạo slideshow.
ffmpeg -y -framerate 1/10 -i E:/img/image-%03d.jpg -i music.mp3 -c:v libx264 -r 30 -pix_fmt yuv420p -c:a aac -strict experimental -shortest -s 854x480 output_multi_images_1_mp3.mp4
Bạn cần để ý các vấn đề:
- framerate 1/10: thời gian mỗi ảnh là 10s, thay đổi thời gian của ảnh tại đây.
- E:/img/image-%03d.jpg: thư mục lưu ảnh với ảnh định dạng chuẩn như bên trên.
- music.mp3: là file âm thanh ghép vào Video.
Kết quả bạn xem bên dưới: https://goo.gl/6ikuMB
Bên trên là code chạy slideshow làm ảnh bị bóp méo nếu các file ảnh có kích thước khác nhau. Để giữ nguyên tỷ lệ hình ảnh thì làm thế nào?
Đoạn code dưới đây sẽ giữ nguyên tỷ lệ hình ảnh khi làm Video Slideshow bằng ffmpeg, kèm theo vào đó là chèn logo vào Video slideshow.
ffmpeg -y -framerate 1/10 -start_number 1 -i E:/img/image-%03d.jpg -i audio.mp3 -loop 1 -i logo.png -filter_complex "[0:v]scale=iw*min(854/iw\,480/ih):ih*min(854/iw\,480/ih), pad=854:480:(854-iw)/2:(480-ih)/2[ss]; [ss][2:v] overlay=main_w-overlay_w-10:main_h-overlay_h-10:shortest=1[out]" -map "[out]" -map 1:a -c:v libx264 -r 30 -pix_fmt yuv420p -c:a aac -strict experimental -shortest out_slideshow_maintain_aspect_ratio_logo.mp4
Video Slideshow kết hợp với nhiều file âm thanh
Cách trên chúng ta ghép 1 bản nhạc vào Video, còn nếu muốn ghép vào một list nhạc có sẵn trong Folder thì làm thế nào nhỉ. Cùng tìm hiểu việc tạo slideshow kết hợp với nhiều file âm thanh qua hướng dẫn bên dưới.
1. Chuẩn bị hình ảnh
Các bạn cũng chuẩn bị các file ảnh và đổi tên như hướng dẫn bên trên.
2. Chuẩn bị list âm thanh
Các file âm thanh này bạn đưa vào cùng thư mục và chạy đoạn code dưới (bằng CMD) để tạo mylist.txt chứa tất cả đường dẫn của các file cần ghép vào Video.
(for %i in ("E:\in\*.mp3") do @echo file '%i') > mylist.txt
Bạn sửa lại đúng đường dẫn chứa các file nhạc mp3 của mình nhé.
3. Tạo slideshow và ghép nhiều file âm thanh vào Video
Chạy đoạn code bên dưới trong thư mục chứa file mylist.txt để tạo slideshow và ghép các file âm thanh trong mylist.txt vào Video.
ffmpeg -y -framerate 1/10 -i E:/img/image-%03d.jpg -f concat -safe 0 -i mylist.txt -c:v libx264 -r 30 -pix_fmt yuv420p -c:a aac -strict experimental multi_all.mp4
Chúc các bạn thành công và nhớ chia sẻ bài viết này để mọi người cùng biết nhé. Xin chào và hẹn gặp lại.
seo video em làm chạy tối đa là 7 ảnh thui…mặt dù trong thư mục em cónhiều ảnh ạ
chao anh ạ
chao d