19.08.2011, 12:59 | #1 |
Сообщения: n/a
|
Проблема с воспроизведением файлов с длинными именами
В последнее время столкнулся с проблемой, когда проигрыватели (КМР-плеер и WMP) отказываются воспроизводить файлы с длинными именами. Переименовать их вручную не получается. Есть и такая странность некоторые файлы воспроизводятся, но скопировать их опять же нельзя т.к. выдается сообщение о недопустимом имени файла. Если кто сталкивался с подобной проблемой и решил ее отпишитесь пожалуйста. Заранее благодарен!
|
19.08.2011, 14:50 | #2 |
Техподдержка
Форумчанин
|
Ограничение на длину имени файла - это ограничение операционной системы. Причем ограничивается длина имени в том виде, как имя передается программе.
Т.е., если файл запускается из некоторой паки на компьютере (родительской папки), то путь передается программе от этой папки. Напимер, если файл находится в папке "C:Documents and SettingsИмя_учетной_записиApplication DatauTorrentTri.mushketera.ili.Dvadcat.let.spustia .1986.DivX.VHSRip-Kinozal.TV.avi.torrent", то если текущая папка в Проводнике - Application Data, то имя файла, передаваемого программе uTorrent система сформирует в виде uTorrentTri.mushketera.ili.Dvadcat.let.spustia.198 6.DivX.VHSRip-Kinozal.TV.avi.torrent и длина окажется достаточно короткой. Если же активной папкой является корень диска, то и имя будет формироваться от корня диска, т.е. в виде C:Documents and SettingsИмя_учетной_записиApplication DatauTorrentTri.mushketera.ili.Dvadcat.let.spustia .1986.DivX.VHSRip-Kinozal.TV.avi.torrent, т.е., значительно длиннее и может превысить лимит. У релизера фильм мог находится в папке с коротким полным именем, например, в папке C:Video, и у него длина имени всегда достаточно короткая, например, C:VideoTri.mushketera.ili.Dvadcat.let.spustia.1986 .DivX.VHSRip-Kinozal.TV.avi. А вы сохранили торрент в папку "C:Documents and SettingsИмя_учетной_записиМои документыМои видеозаписиКинозалКрапивин". Во время закачки в uTorrent стояла настройка "Сохранять в..." в виде C:Documents and SettingsИмя_учетной_записиМои документыМои видеозаписиКинозал. uTorrent тогда отсчитывает пути от этой папки и для него полное имя будет в виде КрапивинTri.mushketera.ili.Dvadcat.let.spustia.198 6.DivX.VHSRip-Kinozal.TV.avi и проблем при закачки нет, т.к. полное имя достаточно короткое. При воспроизведении у плеера нет установки начальной папки, и для него полное имя будет отсчитываться от корня диска, т.е. C:Documents and SettingsИмя_учетной_записиМои документыМои видеозаписиКинозалКрапивинTri.mushketera.ili.Dvadc at.let.spustia.1986.DivX.VHSRip-Kinozal.TV.avi. И может оказаться, что оно превышает лимит. Можно попытаться открыть в Проводнике папку C:Documents and SettingsИмя_учетной_записиМои документыМои видеозаписиКинозалКрапивин и запускать видео прямо из нее, чтобы сократился путь к файлу. Вторая причина - недопустимые символы в имени. Дело в том, что все локализованные версии Windows используют при создании имен на языке локализации однобайтовую кодовую страницу своего языка: CP1252 - для английской версии, CP1251 - для русской версии, CP1250 - для версии на языках стран Восточной Европы. Если же имя файла задается на другом языке, даже поддерживаемом данной версии, то имя записывается в кодировке Unicode (т.к. в "родной" таблице таких символов нет). В результате, если у релизера установлена русская версия и он задал имя файла и/или папки на русском, то у него без проблем символы имени будут закодированы по одному бюайту на символ в кодировке Windows-1251. А когда вы открываете этот файл на компьютере с английской версией Windows, то ОС видит, что кодировка однобайтавая, а не Unicode, и выводит символы в своей "родной" кодировке Windows-1252. В результате получаются "букозяки", т.к. одному и тому же коду символа в разных кодовых таблицах соответствуют разные символы. Хуже того, какие-то коды символов, разрешенные в одной кодировке, могут оказаться недопустимыми в другой. При этом один и тот же недопустимый символ может в разных ситуациях проявляться по-разному. Например, при наличие в имени файла обного и того же недопустимого символа записываться на винчестер, отображаться в списке Проводника и открываться в плеере файл может нормально, а при копировании и/или удалении будут возникать различные глюки (т.к. в этих операциях используются разные системные программы, а они по-разному реагируют на недопустимык символы, т.к. одни программисты более добросовестные и сделали "защиту от дурака", а другие поленились). И это неустранимое явление. Казалось бы, сохрани файл на национальном языке в кодировке Unicode - и он будет корректно работать на компьютерах с любой версией Windiws. Однако Майкрософт не предусмотрел "ручного" управления кодировкой - система автоматически определяет, в какой кодировке сохранять файл в зависимости от того, на каком языке вы задали его имя, а в разных локализованных версиях точки зрения системы на то, в какой кодировке какой язык представлять, не совпадают. Именно поэтому в Правилах Кинозала такие жёсткие требования на имена файлов и папок в раздачах: у нас разрешены только те символы, которые допустимы в любых операционных системах и в любых их версиях. И, если проблема с копированием и удалением не в длине пути (это устранимо, если зайти непосредственно в папу с файлом, чтобы полное имя "источника" стало минимально коротким и переместить файл в папку с более коротким именем), то проблема с недопустимыми символами неустранима. А недопустимые символы у релизера вполне могут быть. Ведь часто раздаются релизы с других трекеров, где требования к именам не такие жесткие, как у нас, и, хотя при раздаче папки с файлами папка переименовывается по нашим правилам, файлы в папке зачастую релизеры оставляют такими, как они названы на ресурсе, откуда их взяли. Кроме того, часто бывает некорректное имя, когда некоторые буквы вместо латинских написаны похожими на них русскими (например, С, Р, К, Е и др.). При проверке раздачи такое трудно заметить, а системе это не нравиться. Бороться с этим можно только еще на этапе скачивания, указав торрент-клиенту другое имя при сохранении, из только допустимых символов. |
19.08.2011, 18:50 | #3 |
Сообщения: n/a
|
Большое спасибо за столь развернутый и информативный ответ! Буду пробовать.
|
25.05.2012, 08:18 | #4 |
Главный Кинооператор
Великий Гуру
|
Проблема с воспроизведением файлов с длинными именами
2-1.) Настоятельно рекомендуется при покупке компьютера требовать "разбить винт" (руководствуясь возможностями/потребностями, но С не менее 35-50 Гигов) как минимум на 2 раздела "C-System" (cм. пункт 2-1) и "D-Data" (для хранения любого контента), в котором можно создать каталоги (папки) - "Video", "Music", "Books" и т.д.. 2-2.) Настоятельно не рекомендуется диск "C" использовать кроме как для операционной системы и установленных программ!!! 2-3.) Рекомендуется скачиваемый торрент-контент сразу располагать с соответствующих каталогах (папках), избегая лишние дальнейшие перемещения... 3.) Избегайте длинных путей при создании базового дерева каталогов как "Закон"!!! В Вашем случае при оговоренном в пункте 2-1 варианте вариант решения: переместить "общую скачанную папку" (или скачать заново файл) непосредственно в созданный для подобного контента каталог Судя по написанному проблема именно в длинном пути ... |
13.11.2012, 00:29 | #5 |
Сообщения: n/a
|
Всем доброй ночи!
Вопрос: Только что переписал на выносной винчестер видео , которое было записано с саттелита с ХД канала, после чего я скопировал его с ресивером Panasonic bly ray DMR-BST721 и попробовал скопировать в комп, но он этот винчестер не расспознаёт..????? Пробовал в винде и в мэке..безрезультатно. Суважением Михаил |
13.11.2012, 13:06 | #6 |
Кинооператор
Новичок
|
Если это видео записывалось с помощью записывающего устройства Panasonic на жесткий диск, то воспроизвести его сможет только это устройство. Тоже самое будет, если записывать с ТВ Panasonic на внешний жесткий - воспроизвести сможет только этот ТВ и даже другой такой же ТВ Panasonic не сможет. Такие вот они, Панасоники. У них своя файловая система.
|
14.11.2012, 21:27 | #7 |
Главный Кинооператор
Любитель
|
|