Search the Community
Showing results for tags 'using ffmpeg with csharp'.
Found 1 result
-
csharp ffmpeg [FFmpeg] Hướng dẫn sử dụng FFmpeg để xử lý video
Thiên Chi Kiều Nữ đã đăng một chủ đề trong Hướng dẫn
Xin chào các bạn, hôm nay mỵ có dự án về chỉnh sửa video, mấy thao tác đơn giản thôi nên tiện thể đăng lên cho các bạn cùng tham khảo, cũng chỉ là kiến thức cơ bản thôi, bạn nào biết thêm bổ sung giúp mỵ nhé. Trước hết là đồ dùng : Các bạn vào đây tải FFmpeg về cho máy nhé, chọn phiên bản win x64 hoặc x32, rồi tải luôn cái static là được, tải về các bạn giải nén lấy thư mục bin ném vào debug c# nhé. Giờ ta bắt đầu xử lý. Các bạn nên học qua chút về xử lý cmd bằng C Sharp đã nhé. [link viết sau] Giải thích qua ý nghĩa các param một chút nhé : Ở đây mỵ sẽ nói đến câu lệnh truyền vào CMD để thực thi thôi :") . Nếu có chỗ nào chưa hiểu rõ, các bạn cứ reply bài này nhé. Hiển thị thông tin file video : string CmdText = "ffmpeg -i test.mp4"; Chuyển đổi hình ảnh thành video : (tất nhiên là bạn nên có nhiều ảnh, không thì video chỉ có 1 hình thôi =.='' ) string CmdText = "ffmpeg -f image2 -i img%d.png video.mp4"; Chuyển đổi video thành hình ảnh : string CmdText = "ffmpeg -i video.mp4 image%d.png"; // tương tự với các đuôi ảnh khác nhé Tách âm thanh file video : string CmdText = "ffmpeg -i video.mp4 -vn -ar 44100 -ac 2 -ab 192k -f mp3 sound.mp3"; Chuyển đổi định dạng file video : string CmdText = "ffmpeg -i video_input.xxx video_output.yyy"; Ghép file video với file âm thanh : string CmdText = "ffmpeg -i sound.mp3 -i video_input.mp4 video_output.mp4"; Tăng giảm tốc độ phát video : string CmdText = "ffmpeg -i video.mp4 -vf "setpts=0.5*PTS" highspeed.mp4"; // chú ý : tăng tốc độ video lên 2 lần string CmdText = "ffmpeg -i video.mp4 -vf "setpts=2*PTS" highspeed.mp4"; // giảm tốc độ video xuống 2 lần Chèn ảnh vào file âm thanh tạo thành video : string CmdText = "ffmpeg -loop 1 -i image.png -i sound.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4"; Chèn phụ đề (sub) cho video : string CmdText = "ffmpeg -i video.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mp4"; Cắt và lấy 1 đoạn của video : string CmdText = "ffmpeg -i video.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4"; Chia video thành nhiều phần (theo giây) : string CmdText = "ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4"; Ghép nhiều video nhỏ thành 1 video : (cùng định dạng file, bit rate...) string CmdText = "ffmpeg -f concat -i file-list.txt -c copy output.mp4"; *Chú ý : nôi dung file file-list.txt sẽ có dạng như sau: Ghép nhiều video nhỏ thành 1 video sử dụng Concat Filter : string CmdText = "ffmpeg -i video1.mp4 -i video2.avi -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" output.mp4"; Ghép nhiều video nhỏ thành 1 video, nhưng không ghép tiếng : string CmdText = "ffmpeg -i video1.mp4 -i video2.avi -filter_complex "[0:v:0] [1:v:0] concat=n=2:v=1 [v]" -map "[v]" output.mp4"; Tắt âm thanh video : string CmdText = "ffmpeg -i video.mp4 -an mute-video.mp4"; Crop video : string CmdText = "ffmpeg -i input.mp4 -vf "crop=w:h:x:y" output.mp4"; ở đây mỵ sẽ giải thích thêm một tí , chúng ta nhìn hình cho dễ hiểu nhé. Giả sử mình có một video với độ phân giải 1920×1080. Mình muốn crop lấy video với độ phân giải 1280×720 và điểm top, lef có toạ độ là (320, 180). Khi đó, mình có w = 1280, h = 720, x = 320, y = 180. Suy ra câu lệnh cần dùng là: string CmdText = "ffmpeg -i input.mp4 -vf "crop=1280:720:320:180" output.mp4" Như vậy để áp dụng thành công thức thì ta có như sau : string CmdText = "ffmpeg -i input.mp4 -vf "crop=1280:720:(in_w-1280)/2:(in_h-720)/2" output.mp4" in_w : chiều dài của Video ->1280 : độ dài mong muốn in_h : chiều cao của Video -> 720 : độ cao mong muốn Tạm thời mỵ mới biết được như thế, bạn nào biết nhiều hơn có thể reply bên dưới để mỵ bổ sung. Tài liệu FFmpeg ngay trên trang chủ nhé- 13 trả lời
-
- 2
-
- ffmpeg
- ffmpeg csharp
-
(và 2 tags nữa)
Tagged with: