VLC ve diğer oynatıcıların çökmemesi için ffmpeg ile bozuk dosyaları ve akışları düzeltin


17

Bana birçok kez bozuk video dosyaları sonunda olabilir:

  • video resmi kaynaklardan indirildi ancak torrent ile ve herhangi bir nedenle .mkv, .ts veya .mp4'te tüm parçalar yok
  • Belirli bir noktada verinin eksik olduğu .ts biçiminde kayıt yapar
  • hasarlı sektörleri olan eski bir sabit diskten kopyalanan videolar

Bu videoları VLC veya diğer oyuncularla oynattığımda belirli bir noktaya kadar oynatılıyor ve hemen çıkıyor. Bazen kötü kısmı atlamaya çalışabilirim ama başka bir kötü sektörle tanışıp tekrar bırakabilirim.

Soru şu ki:

Ben ffmpeg ve belki bir -c kopya olarak bu sorunu (varsayalım akarsu ve anahtar kareleri varsayalım) bu yüzden her şeyi yeniden sıkıştırmak zorunda değilsiniz?

Ne elde etmek istiyorum eksik parçaları atlanır tam uzunlukta bir video, ben videolarım çökmesini yerine bir aksaklık tercih ederim.


Yanıtlar:


26

Dosyanın bazı bölümleri fiziksel olarak kötü sektörlerde bulunuyorsa veya herhangi bir nedenle işletim sistemi tüm dosyayı FFmpeg'e sunamazsa, doğal olarak FFmpeg bu konuda hiçbir şey yapamaz. Bu bölümleri yok sayacak ve kurtarılabilir parçaları ddrescue gibi yeni bir dosyaya yazabilecek bir yardımcı program almalısınız .

Şimdi, dosya protokolü hataların nedeni değilse, deneyebilirsiniz

ffmpeg -err_detect ignore_err -i video.mkv -c copy video_fixed.mkv

1
Bu çalışıyor, ancak olmadan başarısız -c copy. Yeniden kodlama sırasında çalışmadığı şaşırtıcı.
intuited

Bununla bile, hala alıyorum Invalid data found when processing input- ve ffmpeg pes ediyor.
Mikhail T.

Güzel bir çözüm ... moov atomu (bir MP4 dosyasında) hala bir yerde mevcutsa. Ya orada bile değilse?
Gwyneth Llewelyn

Sonunda şaşırtıcı iyilikle çalışıyor :)
şirish

5

Daha iyi bir cevap arayışında olası bir yol şunlar olabilir:

ffmpeg -i video.mkv -c copy video_fixed.mkv

Ancak, sonucu daha da iyi hale getirebilecek bazı ekstra seçenekler olduğundan eminim.


1
Meta veriler, zaman damgaları veya kapsayıcı bilgileri ile ilgili bir sorunum olduğunda her zaman benim için çalışıyor. Ve çok hızlı, genellikle 400x oynatma hızından daha hızlı.
user24601

Bu komut, açıkçası, popomu kurtardı.
neverMind9
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.