Which FFMPEG option is correct, to fix Corrupted video stream (MPEG-2 TS)?
I am trying to repair corrupted video stream files. (I am on Linux). After googling I found few FFMPEG options. Please someone explain what is the difference between these options and which one is the best and future-proof.
# 1. This -ignore_unknown?
ffmpeg -i Video_corrupted.mp4 -map 0 -ignore_unknown -c copy video_repaired.ts
# 2. This -copy_unknown?
ffmpeg -i Video_corrupted.mp4 -map 0 -copy_unknown -c copy video_repaired.ts
# 3. This -err_detect ignore_err?
ffmpeg -err_detect ignore_err -i Video_corrupted.mp4 -c copy video_repaired.ts
If you are getting the following error
[matroska @ 0000023ccef9d980] Timestamps are unset in a packet for stream 0.
This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[matroska @ 0000023ccef9d980] Can't write packet with unknown timestamp
av_interleaved_write_frame(): Invalid argument
try this:
ffmpeg -fflags +genpts -i input.mkv -c copy repaired.mkv
See How to get rid of ffmpeg pts has no value error on Super User.