Похоже, что вы хотите сделать:
mplayer -vo null -ao null input.file
, а затем проанализируйте выходное и возвращаемое значение, чтобы увидеть, может ли оно на самом деле воспроизводить и декодировать поток. Это займет некоторое время (но будет быстрее, чем в реальном времени). Если вы хотите что-то еще быстрее, вот еще несколько предложений:
Одна простая вещь будет делать
mplayer -identify -vo null -ao null
в файле, а затем проанализируйте вывод и посмотрите на возвращаемое значение для чего-то, что выглядит разумным.
Что касается неправильных контрольных сумм, будет трудно понять, является ли это проблемой для вашего медиаплеера или нет (mplayer, vlc, totem и т. Д.). Хороший медиаплеер будет терпеть много ошибок уровня битов или байтов с небольшим влиянием на полученное воспроизведение. Очень строгий медиаплеер выйдет, когда увидит неправильно сформированные или неправильные байты кодека и оболочки.
Чтобы проверить байты оболочки (контейнера), вы можете сделать что-то вроде
mencoder -ovc copy -oac copy input.file -o output.file
Проблема в том, что mencoder захочет создать файл .avi для вывода. Если ваши входные данные .avi, то это будет отлично работать.
Вы можете запустить аналогичную командную строку ffmpeg, например:
ffmpeg -acodec copy -vcodec copy input.file output.file
Если файлы представляют собой файлы .mp4, возможно, вы захотите взглянуть на mp4box (http://www.videohelp.com/tools/mp4box) для выполнения аналогичной задачи. Инструменты Matroska также хороши для такого рода вещей. (http://www.matroska.org/)