Câu trả lời:
Điều này có thể được thực hiện bằng cách sử dụng mencoder
và ffmpeg
.
Giả sử bạn muốn cắt một phần bắt đầu từ 00:00:30 vào tệp gốc với thời lượng 5 giây và nó không nên được mã hóa lại (nếu bạn muốn mã hóa lại, bạn sẽ phải thay thế copy
bằng âm thanh và codec video, đối với danh sách các vấn đề về codec âm thanh có sẵn mencoder -oac help
, đối với danh sách các vấn đề về codec video có sẵn mencoder -ovc help
), thì bạn sẽ phát hành:
mencoder -ss 00:30:00 -endpos 00:00:05 -oac copy -ovc copy originalfile -o newfile
Bạn sẽ phải thay thế orginalfile
và newfile
với tên tệp thực tế, sau này là tên của tệp được tạo để giữ phần cắt ra.
Giả sử bạn muốn cắt một phần bắt đầu từ 00:00:30 vào tệp gốc với thời lượng 5 giây và không nên mã hóa lại (nếu bạn muốn mã hóa lại, bạn sẽ phải thay thế copy
với codec âm thanh và video, để biết danh sách các vấn đề về codec có sẵn ffmpeg -formats -E
), thì bạn sẽ phát hành:
ffmpeg -ss 00:00:30 -i orginalfile -t 00:00:05 -vcodec copy -acodec copy newfile
Bạn sẽ phải thay thế orginalfile
và newfile
với tên tệp thực tế, sau này là tên của tệp được tạo để giữ phần cắt ra.
Để tham khảo, hãy xem http://lazyxiong-tech.blogspot.com/2007/05/USE-mencoder-to-cut-out- Pieces-of.html và "7. Chỉ sao chép một phần video" trong http: // segfault.in/2010/10/ffmpeg-tricks-you-should-ledge-about/
-ss ... -t ...
cần phải được trước các -i infile
tùy chọn. Xem câu trả lời này cho một lót thực sự. Bạn gần như đã nhận được nó, chỉ cần không phải là đơn đặt hàng ...
Bạn có cần cắt video với mã hóa lại hoặc không có chế độ mã hóa lại? Bạn có thể thử làm theo lệnh dưới đây.
Tóm tắt: ffmpeg -i [input_file] -ss [start_seconds] -t [thời gian_seconds] [output_file]
sử dụng FFmpeg cắt video mp4 mà không cần mã hóa lại
Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4
sử dụng FFmpeg cắt video mp4 với mã hóa lại
Example:
ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -async 1 -strict -2 cut_video.mp4
Nếu bạn muốn cắt bỏ phần từ đầu, chỉ cần thả -t 00:00:10
từ lệnh
medipack là một ứng dụng dòng lệnh rất đơn giản như là một trình bao bọc ffmpeg
.
bạn có thể đạt được việc cắt video của mình bằng các lệnh sau:
medipack trim input.mp4 -s 01:04 -e 14:08 -o output.mp4
medipack trim input.mp4 -s 01:04 -t 13:04 -o output.mp4
bạn có thể xem các tùy chọn của tiểu ban cắt như:
srb@srb-pc:$ medipack trim -h
usage: medipack trim [-h] [-s START] [-e END | -t TIME] [-o OUTPUT] [inp]
positional arguments:
inp input video file ex: input.mp4
optional arguments:
-h, --help show this help message and exit
-s START, --start START
start time for cuting in format hh:mm:ss or mm:ss
-e END, --end END end time for cuting in format hh:mm:ss or mm:ss
-t TIME, --time TIME clip duration in format hh:mm:ss or mm:ss
-o OUTPUT, --output OUTPUT
bạn cũng có thể khám phá các tùy chọn khác bằng cách sử dụng medipack -h
srb@srb-pc:$ medipack --help
usage: medipack.py [-h] [-v] {trim,crop,resize,extract} ...
positional arguments:
{trim,crop,resize,extract}
optional arguments:
-h, --help show this help message and exit
-v, --version Display version number
bạn có thể truy cập https://github.com/srbcheema1/medipack và kiểm tra các ví dụ trong README.
Để chính xác hơn, bạn có thể: MANUALLY Mở tệp trong trình phát đa phương tiện sẽ tăng khung hình trước (potplayer yêu thích của tôi nhưng MPC-HC hoạt động) và phát tệp AVISynth với dữ liệu như:
DirectShowSource(("C:\Downloads\Video\Do you want him.flv"), Pixel_Type="yuy2").Crop(0,0,-0,-0)
Subtitle("C:\Downloads\Video\Do you want him.flv", font="Arial", size=24, text_color=$ff0000, align=3)
ShowFrameNumber(scroll=true, x=336, y=27, font="Arial", size=24, text_color=$ff0000)
ShowTime(x=398, y=44, font="Arial", size=24, text_color=$ff0000)
Sau đó cắt với định dạng thời gian CHÍNH XÁC:
ffmpeg -i "Path\do you want him.flv" -ss 00:00:05.240 -to 00:00:08.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him1.flv"
và
ffmpeg -i "Path\do you want him.flv" -ss 00:00:10.240 -to 00:00:14.360 -vcodec libx264 -acodec libvo_aacenc "Path\Do you want him2.flv"
Nếu bạn muốn tham gia, hãy tạo một tệp txt với các tệp video có nội dung như:
file 'C:\Downloads\Video\Do you want him1.flv'
file 'C:\Downloads\Video\Do you want him2.flv'
Chạy ffmpeg
:
ffmpeg -f concat -i FileList.txt -c copy "Path\NewName_joined.flv"
CHƯƠNG TRÌNH Tôi đã viết một chương trình nhưng không có cấp 10 để hiển thị nó, xin lỗi