Bir .3gp video dosyasını herhangi bir yönde 90 derece döndürmek için Ubuntu ve tercihen ffmpeg gibi standart paketleri kullanmak istiyorum. Tercihen bir komut satırı veya Python betiği.
Bunu nasıl yapabilirim?
Bir .3gp video dosyasını herhangi bir yönde 90 derece döndürmek için Ubuntu ve tercihen ffmpeg gibi standart paketleri kullanmak istiyorum. Tercihen bir komut satırı veya Python betiği.
Bunu nasıl yapabilirim?
Yanıtlar:
VLC kullanarak , Araçlar >> Tercihler ... 'e giderek videoyu döndürebilirsiniz.
Ve şov ayarları için "Tümü" nü seçin. Sonra şuraya gidin: Video >> Filtreler >> Döndür
İstediğiniz dereceyi ayarladıktan sonra Araçlar> Efektler ve Filtreler> Video Efektleri> Geometri .. seçeneğine giderek döndürebilirsiniz.
test ettiğim mp4 ama VLC'nin 3gp'yi de destekleyebileceğine inanıyorum . Bu yardımcı olur umarım. :)
Komut satırından ffmpeg ile:
ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
transpose=1
videoyu saat yönünde 90 derece döndürür; saat yönünün tersine döndürmek için düğmesini kullanın transpose=2
. Biraz daha fazla bilgi için aktarma belgelerine bakın .
-metadata:s:v rotate=""
mevcut herhangi bir video akışı döndürme meta verisini keser; aksi ffmpeg
takdirde kopyalar, oynatıcınızın istenmeyen ek rotasyon uygulamasına neden olabilir.
Buradaki video kodlama ayarları hakkında bilgi için, akışı kopyalamak yerine sesi yeniden kodlamak istiyorsanız bu H.264 kodlama kılavuzuna ve AAC kodlama kılavuzuna bakın .
Benzer bir sorunu çözdüm - doğru ayarlamak istediğim baş aşağı çekilen (yani 180 derece döndürülmüş) bir .MOV'um vardı.
Benim Ubuntu 14.04 sistemde, Koştum avconv
için verilen temelde aynı komut satırı seçenekleri ile ffmpeg
de evilsoup cevabı . Görünüşe göre, transpose
180 derece döndürme seçeneğini desteklemiyor , bu yüzden 90 derece saat yönünde (yani transpose=1
) iki kez yaptım .
En az seçenek denediğimde, şu etkiye bir mesaj aldım:
encoder 'aac' is experimental and might produce bad results.
Add '-strict experimental' if you want to use it.
ve çıktı dosyası sıfır uzunluğunda olduğunu, bu yüzden ekledi -strict experimental
.
Çalışan komut satırları:
avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV
Sonuç, açıklanamayan yan etkileri ile tatmin edicidir:
Şikayet ettiğimden değil: bunlar arzu edilir; Neden geldiklerini anlamıyorum ...
avconv
komut satırlarınızı sadece ffmpeg
komuttan farklılıkları değil bütünüyle sundunuz . Cevabınız kendi kendine yeterli olmalıdır; diğer cevap kaybolabilir. (3) İyi şanslar!
-filter:v transpose=1 …
.
Bu sorunun ilk yanıtlandığı zamandan beri libav'da bazı değişiklikler yapılmıştır. Bu güncel ve kullanışlı tutmak için aşağıdaki bilgileri sunacağım:
Bunu , devrik video filtresinin son sürümleriyle ffmpeg
ve avconv
kullanarak yapabilirsiniz.
avconv -i inputfile -vf transpose=clock outputfile
saat yönünde döndürmek için.
ffmpeg'de sözdizimi aynıdır.
ffmpeg -i inputfile -vf transpose=clock outputfile
Burada inputfile , desteklenen girdi video dosyanız ve outputfile istediğiniz çıktı dosyasıdır.
Saat yönünün tersine dönüş için saati cclock ile değiştirin
İşte belgelerden bir alıntı:
‘cclock_flip’
Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’
Rotate by 90 degrees clockwise.
‘cclock’
Rotate by 90 degrees counterclockwise.
‘clock_flip’
Rotate by 90 degrees clockwise and vertically flip.
Kaynaklar:
https://libav.org/avconv.html#transpose
https://ffmpeg.org/ffmpeg-filters.html#transpose-1
Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04 üzerinde test
ffmpeg
benim için çalıştı (denemedim avconv
)
ffmpef
yazı gereksiz argümanlar bir sürü içerir, teşekkürler!