Itu sering terjadi pada saya sehingga saya bisa berakhir di file video yang rusak:
- video diunduh dari sumber resmi tetapi dengan torrent dan karena alasan tertentu tidak semua bagian ada di .mkv, .ts atau .mp4
- catatan dalam format .ts di mana pada titik tertentu data hilang
- menyalin video dari hard drive lama dengan sektor yang rusak
Ketika saya memutar video ini dengan VLC atau pemain lain, mereka memutar sampai titik tertentu dan kemudian langsung keluar. Kadang-kadang saya dapat mencoba untuk melewatkan bagian yang buruk tetapi saya dapat bertemu dengan sektor buruk lainnya dan memiliki insta-berhenti lagi.
Pertanyaan adalah:
Bisakah saya memperbaiki masalah ini (saya kira terkait stream dan keyframe) dengan ffmpeg dan mungkin secara c-copy jadi saya belum mengkompres ulang semuanya?
Apa yang ingin saya capai adalah video panjang penuh di mana bagian yang hilang dilewati, saya lebih suka kesalahan daripada memiliki video saya crash.
Jawaban:
Jika sebagian file berada di sektor yang secara fisik buruk, atau karena alasan apa pun, OS tidak dapat melayani seluruh file ke FFmpeg, maka FFmpeg secara alami tidak dapat melakukan apa pun tentang itu. Anda harus mendapatkan utilitas yang dapat mengabaikan bagian-bagian itu dan menulis bagian yang dapat diselamatkan ke file baru, seperti ddrescue .
Sekarang, jika protokol file bukan penyebab kesalahan, Anda dapat mencoba
sumber
-c copy
. Mengejutkan bahwa itu tidak berfungsi selama pengodean ulang.Invalid data found when processing input
- dan ffmpeg menyerah.Dalam mencari jawaban yang lebih baik, cara yang mungkin bisa dilakukan adalah:
Namun saya cukup yakin ada beberapa opsi tambahan yang dapat membuat hasilnya lebih baik ..
sumber