Judul ini bisa agak menyesatkan, jadi izinkan saya menjelaskan ...
Saya mengunduh file video ... mpeg, avi - menjadi salah satu format populer. Sekarang, jika saya mengunduhnya, dan unduhannya terputus di tengah uhm ... unduh, maka, misalnya, Windows Media Player akan memberikan beberapa kesalahan dan menolak untuk memutarnya (walaupun file tersebut, katakanlah, 98% selesai). Tapi, pemain seperti KMPlayer, atau MediaPlayer Classic akan memainkannya sampai saat itu (sebagai soal fakta, mereka dapat memainkannya saat sedang diunduh juga).
Jadi, saya tertarik, ... tanpa menggunakan sarana pengunduhan (pengelola unduhan dan sejenisnya) untuk mengamankan file sepenuhnya diunduh, bagaimana seseorang dapat memverifikasi apakah file video tersebut diunduh secara keseluruhan, dan lengkap?
sumber
Incomplete MPEG should play with no problems.
@karena, pertanyaannya adalah bagaimana memeriksa korupsi, bukan bagaimana memainkan file yang tidak lengkap. Bahkan jika suatu format mendukung pemutaran file yang tidak lengkap, masih mungkin untuk memeriksa korupsi jika file tersebut tidak sesuai dengan spesifikasi format. Misalnya, Anda masih dapat membaca file teks biasa yang tidak lengkap, tetapi Anda masih dapat mendeteksi jika file tersebut memiliki masalah seperti apakah itu berakhir di tengah kalimat atau ada sepotong informasi yang jelas hilang di tengah.Jawaban:
Anda dapat menggunakan fitur dalam
ffmpeg
konverter video: jika Anda menentukannya untuk mengkode ulang video menjadi tidak ada, itu hanya akan membaca file input dan melaporkan kesalahan yang akan muncul. Ini proses yang sangat cepat karena bingkai video baru saja dibaca, diperiksa dan dijatuhkan diam-diam.Contoh perintah baris: (untuk Linux)
-v error
berarti tingkat verbositas tertentu (untuk menunjukkan beberapa kesalahan yang biasanya disembunyikan karena mereka tidak terlalu memengaruhi permainan).Anda akan mendapatkan log kesalahan penuh dengan beberapa informasi umum tentang file ffmpeg akan ditampilkan, jadi ini mungkin akan memerlukan perhatian Anda, melalui filter dapat ditulis untuk melakukan pemeriksaan batch file yang serupa.
FFmpeg juga tersedia untuk Windows di sini . Baris perintah akan hampir identik dengan pengecualian redirect stderr:
sumber
ffprobe
paket yang disertakanffmpeg
. Itu tidak melakukan konversi tetapi hanya membaca info metadata dari file. Oleh karena itu akan mendeteksi kesalahan dalam metadata tetapi tidak akan menemukan masalah dalam file itu sendiri. Secara pribadi menggunakanffprobe
untuk membuat verifikasi cepat dari unggahan sebelum memproses lebih lanjut-map
), yang secara signifikan akan mempercepat operasi:ffmpeg -v error -i in.mkv -map 0:1 -f null …
Jika ada kesalahan, itu akan mencatat posisi byte, yang dapat Anda gunakan untuk memotong file (satu atau dua megabyte lebih awal agar aman) dan kemudian melanjutkan pengunduhan.Saya menyukai ide untuk menggunakan di
ffmpeg -f null
atas, tetapi saya sebenarnya ingin mengotomatiskan proses menggunakan output itu. Secara khusus, skenario umum yang saya miliki dengan koleksi video musik saya adalah bahwa saya memiliki beberapa klip yang memiliki resolusi yang sama, dan saya ingin membedakan log verifikasi untuk file-file tersebut untuk menghapus yang paling rusak.Sayangnya, ffmpeg sejauh ini tidak memiliki cara untuk menonaktifkan mode interaktifnya, yang menghasilkan derau untuk kasus penggunaan ini. Saya akhirnya meretas skrip pembungkus sederhana untuk melakukan penyaringan:
Contoh output:
sumber
Untuk windows, Anda dapat 'batch' memeriksa integritas untuk video pada folder saat ini dan semua subfolder dengan file bat ini:
checkvideo.bat
Menggunakan:
checkvideo.bat [filter]
Jika Anda tidak memberikan satu filter, akan mendapatkan '* .mp4'.
Sampel:
checkvideo.bat
checkvideo.bat *.avi
Setup: Unduh FFmpeg untuk Windows dari sini: https://ffmpeg.zeranoe.com/builds/ dan unzip mereka. Ubah
C:\ffmpeg\bin\
file bat untuk path tempat Anda membuka zip ffmpeg. Letakkancheckvideo.bat
di folder yang termasuk dalam Path atau tambahkan foldernya ke Variabel lingkungan jalursumber
Masalah dengan jawaban lain yang digunakan
ffmpeg
untuk pengodean ulang kenull
format adalah bahwa hal itu membutuhkan waktu yang sangat lama. Terutama, jika Anda ingin memeriksa beberapa file dalam direktori.Cara cepat akan menghasilkan thumbnail untuk semua video, dan melihat di mana generasi thumbnail gagal.
Metode ini ternyata jauh lebih CEPAT daripada metode lainnya.
Namun, ada CAVEAT. Metode ini dapat menghasilkan hasil yang salah, karena terkadang thumbnail dapat dihasilkan bahkan untuk file yang rusak. Misal jika file video rusak hanya pada akhirnya, metode ini akan gagal.
sumber
MediaInfo adalah alat yang hebat untuk mendapatkan info tentang file video apa pun yang Anda inginkan . Ini mungkin dapat menyoroti info yang Anda inginkan.
Alat lain adalah GSpot tetapi belum diperbarui sejak 2007.
Coba berikan masing-masing file yang baik dan dikenal buruk dan bandingkan hasilnya.
Saya dulu menggunakan GSpot sampai berhenti diperbarui, lalu beralih ke MediaInfo
sumber
mediainfo *
.mediainfo
rupanya tidak memeriksa kelengkapan. Saya mengambilwebm
file video 33 MB dantruncate
melakukannya setengah.mediainfo
masih memiliki hasil yang hampir sama untuk keduanya, tidak ada tanda-tanda korupsi. Setelahtruncate
mencapai 1 MB, masih belum ada tanda-tanda korupsi yang jelas dalam hasilnya. Hanya jika Anda melihat lebih dalam pada output, ada beberapa informasi yang bertentangan. Tetapi bagian-bagian ini bergantung pada format file video, sehingga Anda tidak dapat mengotomatisasi deteksi ini.mediainfo
tidak membaca apa pun kecuali metadata. Ini tidak akan memeriksa validitas file Anda dengan cara apa pun.