Saya mencari cara untuk secara otomatis memeriksa 3 file video dari konten yang sama, tetapi menggunakan 3 resolusi berbeda (320x180, 640x360, 1280x720), dan mengidentifikasi frame yang jatuh dan mengganti frame yang terkena efek dari keyframe ke keyframe dengan audio, memastikan garis gelombang audio dengan file lain.
Intinya, setiap file akan memiliki jumlah frame yang persis sama dan setiap file gelombang audio akan berbaris tepat di setiap file yang terpisah.
Apakah ini mungkin menggunakan ffmpeg?
Jawaban:
Saya baru mengenal FFMPEG ... Tetapi penelitian yang saya lakukan menunjukkan bahwa itu mungkin saja terjadi.
Mengidentifikasi bingkai yang terjatuh:
! / bin / bash
rm framediffs.lis
ffmpeg -i MPEG0004.AVI f% d.png
framenum = 1 sementara [$ framenum -lt 50] lakukan file1 = f $ (($ framenum)). png file2 = f $ (($ framenum + 1)). png bandingkan - metrik RMSE $ file1 $ file2 NULL: 2> diff.lis fdiff =
cat diff.lis |cut -d ' ' -f 1
echo $ file1 $ file2 $ fdiff >> framediffs.lis framenum = $ (($ framenum + 1)) selesaicat framediffs.lis
Mensimulasikan beberapa frame yang dijatuhkan:
bandingkan -metric RMSE f45.png f47.png NULL: bandingkan -metric RMSE f45.png f48.png NULL: bandingkan -metric RMSE f46.png f48.png NULL: bandingkan -metric RMSE f47.png f50.png NULL:
maka jika perlu, potong sebagian file ...
Memotong segmant tanpa re-encoding: ffmpeg -i source.mp4 -ss 00:00:05 -t 00:00:10 -c copy cut_video.mp4
Atau ganti segmen dari file yang tidak menunjukkan kerugian ...
Mengganti segmen dari file yang bagus: ffmpeg -i in.mp4 -vf trim = X -c: salinan out.mp4 ffmpeg -i in.mp4 -vf trim = X, setpts = 'if (eq (N, 0), 0, PTS) '-c: salinan dari.mkv
Jika dicrepency audio, ekstrak audio dan kemudian remux file yang buruk ...
Mengekstrak audio dari file dan remuxing (saya pikir memilih segmen antara 2 keyframe harus dimungkinkan): ffmpeg -i vid.mkv -map 0: 2 -ac 2 aud.wav avconv -i INPUT_FILE_WITH_BROKEN_SOUND.mp4 -i SECOND_INPUT_FILE.mkv -c copy -map 0: v: 0 -map 1: a: 1 OUTPUT.mp4
Seperti yang saya katakan, saya seorang pemula dan akan menghargai pikiran untuk menghindari pemborosan waktu. Terima kasih!
sumber