Làm cách nào tôi có thể xoay video 180 độ với avconv


24

Tôi muốn xoay video (mp4) 180 độ, nhưng không lật. Có thể làm điều đó với avconv?


Tôi đã tìm thấy với cả hai câu trả lời hiện có rằng chúng hoạt động với các tệp MP4 từ máy ảnh Hero 3, nhưng chỉ sau khi tôi thêm -c:abản sao vào lệnh (ngay trước tên tệp đầu ra). Tôi cũng thấy rằng phiên bản thứ hai có chất lượng không thể phân biệt, nhưng nhanh hơn khoảng 50% so với phiên bản dịch xích.
Simon

Câu trả lời:


31

Có thể sử dụng transposebộ lọc video. Bạn không thể xoay 180 độ, nhưng bạn có thể xoay 90 độ và xâu chuỗi bộ lọc.

avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv

Xem transposetrong avconvtrang chủ: http://manpages.ubfox.com/manpages/quantal/en/man1/avconv.1.html


Điều này đã quay video của tôi, nhưng chất lượng giảm (độ phân giải và tốc độ khung hình) rất lớn (tệp iphone .mov).
Gringo Suave

transpose = đồng hồ hoạt động ngay bây giờ hãy xem câu trả lời của tôi
Elder Geek

15

Có, nhưng bạn sẽ cần thêm một số tùy chọn bổ sung vào lệnh của mình để nó hoạt động chính xác. Transpose và vflip / hflip nên thực hiện thủ thuật, nhưng nếu bạn không nói với avconv chi tiết hơn về những gì bạn muốn, bạn có thể sẽ nhận được đầu ra chất lượng rất thấp:

 avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4

Chú ý -crftùy chọn. Điều đó đặt chất lượng đầu ra. Nó đi từ 0 (lossless) trở lên theo logarit. Bạn có thể muốn có một giá trị từ 19 đến 25 trong hầu hết các trường hợp. -presetđặt tốc độ mã hóa, "chậm", "trung bình" hoặc "nhanh". Chậm sẽ giúp bạn có kích thước tệp nhỏ hơn với sự đánh đổi rõ ràng. Bạn nên điều chỉnh -codec:vđể phù hợp với bản gốc. Nếu bạn không đặt các tùy chọn này, bạn sẽ nhận được các giá trị mặc định, không hoạt động tốt khi lật video iphone.


Unrecognized option 'preset' Failed to set value 'slow' for option 'preset' Đó là những gì tôi có
Karel Bílek

... và không có nó, tôi đã nhận đượcUnknown encoder 'libx264'
Karel Bílek

1
apt-get install libavcodec-extra-53đã giải quyết nó
Karel Bílek

6

Phương pháp bổ sung với avconv là sử dụng các bộ lọc vflip và hflip. Nên chạy nhanh hơn và có thể chất lượng tốt hơn:

avconv -i video.mp4 -vf vflip,hflip out.mp4

Tương tự: Điều này đã quay video của tôi, nhưng chất lượng giảm (độ phân giải và tốc độ khung hình) rất lớn (tệp iphone .mov).
Gringo Suave

1
@GringoSuave wcarlson đã đưa ra một ví dụ rút gọn, bạn vẫn cần thêm tất cả các -codec: v ... và các thẻ khác
v010dya

1

Tôi đã làm điều này:

avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4

Video Full HD, kết quả tuyệt vời với chất lượng giảm không thể nhận thấy


1

Đối với avconv hoặc ffmpeg Dưới 14.04 trở lên

Đã có một số thay đổi đối với tài liệu libav kể từ khi @phoibos trả lời chất lượng cho câu hỏi này. Bạn có thể xoay video 180 độ để tránh lật hoàn toàn bằng cách nối 2 lệnh 90 độ với nhau (cách nhau bằng dấu phẩy) Tôi đã thực hiện điều này bằng lệnh

avconv -i inputfile -vf transpose = clock, transpose = clock outputfile

cho quay theo chiều kim đồng hồ.

trong ffmpeg cú pháp là như nhau.

ffmpeg -i inputfile -vf transpose = clock, transpose = clock outputfile

trong đó inputfile là tệp video đầu vào được hỗ trợ của bạn và outputfile là tệp đầu ra mong muốn của bạn.

Đối với vòng quay ngược chiều kim đồng hồ thay thế đồng hồ với cclock

Nguồn:

https://libav.org/avconv.html#transpose

Thử nghiệm trên Ubuntu 14.04.5 và 16.04 LTS

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.