2015-03-16 32 views
5

Şu anda 10mb veya 15mb hakkında çevirmek için ffmpeg kullanmak istediğim 80mb filmim var. Bir kalite kaybının olacağını biliyorum, ancak sesleri olması gerekecek. Bir parçayı 25MB hakkında şu andaffmpeg video sıkıştırması/özelliği dosya boyutu

ffmpeg -i movie.mp4 -b 2255k -s 1280x720 movie.hd.ogv 

daha önce yaptıklarından daha dosya boyutu veya daha yüksek sıkıştırma belirtmek için ya bir yolu var mı

cevap

12

en iyi yoldur belli çıktı dosya boyutunu hedefliyorsanız H.264 ve İki Geçiş kodlaması'u kullanmak için.

Orada burada büyük bir örnektir ama kopyalama-yapıştırma için çok büyük açıklanmıştır: https://trac.ffmpeg.org/wiki/Encode/H.264

Sen bitrate = file size/duration kullanarak hedef bit hızı hesaplamak ve başlatmadan ffmpeg iki kez: Bir geçiş ortamı analiz eder ve ikinci yapar gerçek kodlama:

ffmpeg -y -i input -c:v libx264 -preset medium -b:v 555k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \ 
ffmpeg -i input -c:v libx264 -preset medium -b:v 555k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4 

Düzenleme: H.265 (HEVC) sıkıştırma bile iyidir ancak destek (H.264 bazı durumlarda büyüklüğünün% 50) bu yüzden şimdilik H.264 ile sopa henüz yaygın değil .

+0

Hesaplamanızda, dosya boyutunda ve süresinde birimler nelerdir? –

+0

@DrewChapin kilo bits/saniye – aergistal