Я думаю, у многих на жестком диске есть такие папки, в которые сбрасываются все видеозаписи, скачанные из сети. У меня такие видеозаписи, как правило, имеют имена вида 87ed942e837a41.mpg, благодаря которым различать их можно только благодаря скриншотам, которые заботливо делает Nautilus. Но иногда попадаются поврежденные файлы, которые без проблемы воспринимаются видеопроигрывателем, но отвергаются программой, которая делает скриншоты для Nautilus'а. Когда таких «бракованных» превьюшек в папке пара штук, можно легко запомнить, что это за видео такие за ними скрываются, но сегодня я заметил, что в моей папке их накопилось уже более тридцати штук. Самое время сделать что-то с ними.
Два файла были действительно битые: один вообще никаким проигрывателем не открывался, а на втором играла только музыка. Эти файлы сразу отправились в /dev/null, но остальные-то проигрываются без каких-либо проблем. Оказалось, что вылечить такие файлы достаточно легко. Нужно всего лишь сконвертировать их из .mpg в тот же .mpg. После такой, на первый взгляд, бессмысленной процедуры превьюшки удивительным образом появлялись. Сначала я нашел только вот эту команду (вернее, не нашел, а взял команду для конвертации mp3 и немного переделал ее):
ffmpeg -i /my/folder/video.mpg /my/folder/fixed_video.mpg
Но не спешите ее использовать, так как после конвертации видео с ее помощью существенно ухудшается качество видео. А избежать потери качества, как оказалось, тоже весьма просто. Нужно лишь вставить между адресами исходного и конечного файлов параметр -sameq, который заставит конвертер использовать для создания нового файла те же параметры, что использовались и для исходного. В конечном итоге команда должна выглядеть так:
ffmpeg -i /my/folder/video.mpg -sameq /my/folder/fixed_video.mpg
После этого, если качество нас устраивает и файл не испорчен, просто устраняем исходный, дабы не создавать дубли. Кстати, если Вы назовете новый файл так же, как назывался старый и разместите его в той же папке, то превьюшка не изволит показаться. А все из-за того, что поврежденная превьюшка уже прокеширована и с нового файла не снимается. Для решения этой проблемы открываем в Nautilus'e папку, в которой хранятся поврежденные превьюшки:
nautilus ~/.thumbnails/fail/gnome-thumbnail-factory/
Удаляем все файлы из этой папки, затем находим папку, в которой лежат наши проблемные видео и, если превьюшки еще не обновились, нажимаем F5.