Похоже, что вы хотите сделать это:
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/ )
person
slacy
schedule
21.05.2009