LINUX.ORG.RU
ФорумTalks

[djvu][плач ярославны] Свободные форматы, да... Дайте нам спеки — мы все напишем, да...

 


0

1

Вот тут некоторые люди говорят, что, мол, обпеньсорс-сообщество может все, если бы не злобные копирасты/секреты/патенты, если бы не монополия Винды, то у нас бы уже все было замечательно и все бы на Линуксе сидели.

Вот взялся я, сидя под Линуксом, изготавливать электронную книгу в открытом и свободном формате DjVu. Решил сделать хорошо, качественно: чтобы читалось хорошо, а объем оставался маленький, чтобы с оглавлением, с метаданными и с OCR-слоем, все как положено...
Что же я обнаруживаю?

Я обнаруживаю, что такую книгу под Линуксом может сделать только заядлый мазохист. И то не факт, что получится хорошо.

Посмотрим на все этапы.


Сканирование и подготовка изображений
Ну, хорошо, отсканировать везде можно. А вот с предварительной подготовкой изображений несколько хуже. Нет никакого ПО, которое помогло бы мне обработать документ с учетом особенностей алгоритма сжатия. Пришлось пользоваться старым добрым Imagemagick'ом и здравым смыслом.

Ну хорошо, я, может, и воспользуюсь, но нельзя же ждать от любого, кто хочет отсканить книгу, что он будет рабираться с Imagemagick? Впрочем, это еще не самое плохое.

Самое плохое — это результат. О нем в следующем параграфе.

Сжатие в DjVu
Ну хорошо, приходим к сжатию. Сжимаем при помощи DjVuLibre. О да, авторы написали, что оно работает «хуже проприетарных аналогов». Но кто ж знал, что «хуже» — это примерно в три раза хуже, чем у Lizardtech или Caminova?!

Возможно, я накосячил при подготовке изображений. Но откуда же я знаю, как было надо, а?

Да и потом, такую простую оптимизацию, как вынос общих для страниц элементов в разделяемые словари при сжатии JB2, а не копирование их в каждую страницу, DjVuLibre делать не умеет. Не говоря уже о том, чтобы сжимать не по одной странице, а потом тупо соединять, а просканировать сразу все и найти наиболее оптимальный набор общих элементов.

Ну вот что за фигня такая, а? Библиотека открытых аналогов не имеет. Находится в разработке уже 10 лет, с 2001 года, а основана она на опубликованных исходниках AT&T и Lizardtech, так что первая версия даже называлась то ли 2.0, то ли еще выше номером была. И за все это время она все еще «хуже проприетарных аналогов». Ну почему она хуже? Умных людей, что ли, нету, чтобы сделать ее не хуже? Ну я понимаю, если программа, обрабатывающая проприетарные форматы была бы хуже, у нее объективные причины. Я понимаю, если бы у проприетарного аналога была огромная фора по времени, но тут если она и есть, то ведь не больше трех лет. А сжатие все еще хуже в 3-4 раза. Это как можно в музее злопыхателей опенсорса поставить: «Мы открытые, поэтому мы дерьмо».

OCR-слой
Вот тут я узнал, что такое ад.

Мне хотелось сделать, вычитать и выровнять вручную OCR-слой. Единственная программа под Линуксом, которая позволила мне это сделать — кривой и косой djvusmooth. А самое интересное, что такой функции не было даже в проприетарном редакторе от Caminova. Только в djvusmooth. Который был с сюрпризом. Сюрприз был в том, что он не умеет добавлять и удалять элементы, только модифицировать.

Мне пришлось делать самописные скрипты, которые выделяют текст при помощи djvused, перегоняют его в удобочитаемый формат, позволяют отредактировать, потом накладывают на документ обратно. А потом подравнивать с помощью djvusmooth. Который зависает, если слишком быстро передвигаться по элементам (например, курсором).

Я вот сейчас этим занимаюсь, сижу и пла́чу.

Не говоря уже о том, что нормального OCR'а под Линукс тоже нет.


Возможно, стоило сначала перегнать в PDF, а потом через pdf2djvu. Но это бы не решило многих проблем. Пусть уж остается, как есть.


А люди говорят: «Выдайте нам спеки видеокарты, мы сами все 3D напишем!». Ага, щас. Напишут.


Может быть, у меня кривые руки. Не исключаю. Но что ж, мне для таких простых операций нужно изучить структуру формата, ознакомиться с алгоритмами сжатия и еще прочитать код djvulibre? Доколе еще, Катилина, мы будем вот так все делать?


А Okular имеет критические баги в обработке текстового слоя DjVu, которые висят открытые в багтрекере еще с 2010-го года.

Ну вот почему у нас все так плохо?

★★★★★

Последнее исправление: proud_anon (всего исправлений: 2)

Кроме как на свалках пиратских книг в рунете нигде больше не видел djvu. Может он просто никому не нужен?

metar ★★★
()
Ответ на: комментарий от metar

>Кроме как на свалках пиратских книг в рунете нигде больше не видел djvu. Может он просто никому не нужен?
Да нет, вон пишут, что в нем книги в проекте Million Book Project лежат, например.
http://en.wikipedia.org/wiki/DjVu#Format_licensing

Потом, еще неизвестно, почему его нигде не видно. Может, и западные люди пиратские книги не в PDF, а в DjVu выкладывали бы, ежели бы с ним работать можно было.

proud_anon ★★★★★
() автор топика

> Ну вот почему у нас все так плохо?

Эти хитрые подонки хотят, чтобы мы правили их баги. ХА! Не на тех напали!!11

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Эти хитрые подонки хотят, чтобы мы правили их баги. ХА! Не на тех напали!!11
Править баги... Знаешь, я уже думаю, не взяться ли мне самому за создание нормального редактора DjVu... Тут не править баги... Тут все писать надо, потому что почти ничего нет...

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от baverman

>Конкретно этот формат практически никому не нужен. Он ничего не умеет, кроме как причинять боль глазам.
А какой формат не причиняет боль глазам?

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от drull

>Сделай лучше в fb2. Дежавю не нужен.
Да FB2-то всегда можно сделать, если текстовый слой есть.

Но есть три проблемы. Во-первых, Internet Archive, например, уже бумажные книги решил складировать, потому что если они пропадут, то никто уже не проверит, что там изначально было. Хоть где-то же должны лежать сканы в виде изображений. Мало ли кому какое исследование надо будет производить.

Во-вторых, а если в книги формулы, рисунки и прочее — замучишься ведь конструировать FB2.

В-третьих, я попробовал несколько читалок FB2 под Линукс, и вот какое дело: ни одной приличной не нашел. Читать, конечно, можно, но не более того. Посоветуете?

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от baverman

Ну, тут ответ тот же, что drull'у (см. «во-первых» и «во-вторых»).

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от adriano32

>FLAC же :)
А что, туда обложки альбомов не вставляются?

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от baverman

Это лучший формат для высококачественных сканов с OCR-слоем.

Или ты знаешь какой-то другой, более лучший формат для этого?

stevejobs ★★★★☆
()
Ответ на: комментарий от proud_anon

> Во-вторых, а если в книги формулы, рисунки и прочее — замучишься ведь конструировать FB2.

Насколько я помню fb2 прекрасно поддерживает изображения. Единственная проблема - обтекание текстом картинки ЕМНИП не работает.

В-третьих, я попробовал несколько читалок FB2 под Линукс, и вот какое дело: ни одной приличной не нашел.


FBReader?

drull ★☆☆☆
()
Ответ на: комментарий от stevejobs

для высококачественных сканов с OCR-слоем.

Любой формат преследует высокие идеалы, но! Большинство книг, которые попадались, были низкокачественными сканами без OCR слоя. То есть, опять вспоминаем про нужность.

baverman ★★★
()
Ответ на: комментарий от baverman

опять вспоминаем про нужность.

таки ты утверждаешь, что низкокачественные сканы в PDF лучше? ыыы )))

Большинство книг, которые попадались,

linux - заповедник софта для профессионалов и гиков, с какой радости надо учитывать мнение большинства?

stevejobs ★★★★☆
()
Ответ на: комментарий от drull

>FBReader?
Вот когда я понял, что это, наверное, лучшая читалка FB2 под Линукс, я и сказал, что приличных читалок не нашел.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от proud_anon

а под вендой что есть, кроме ICEBookReader (который не умеет djvu, да и картинки научился буквально на днях)?

есть DjVuReader, написаный неизвестным автором N лет назад, от которого не осталось исходников..

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

таки ты утверждаешь, что низкокачественные сканы в PDF лучше?

Нет. Сканы в любом своем проявлении — это последний рубеж, когда ничего иного нет.

linux - заповедник софта для профессионалов и гиков, с какой радости надо учитывать мнение большинства?

Какой бы маргинальной не была группа, всегда найдется более мелкая и более маргинальная. Вплоть до индивида.

djvu-делатель-кун, как раз из таких.

baverman ★★★
()
Ответ на: комментарий от stevejobs

>ICEBookReader
Ах, он уже картинки научился Чудеса в решете!

>а под вендой что есть
Так для FB2 или DjVu?
Для DjVu есть DjView, как и везде. Конечно, как «хранилище электронной библиотеки» не пойдет, но хоть DjVu читает.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от baverman

>Нет. Сканы в любом своем проявлении — это последний рубеж, когда ничего иного нет.
Ну, значит, наши взгляды на сохранность информации расходятся.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от baverman

> djvu-делатель-кун, как раз из таких.

ХБЗ.

Я книги читаю в электронном виде (не помню, когда в прошлый раз покупал для себя настоящую книгу в бумаге).

Обычно книги берутся с проектов, которые работают по такой схеме: как только книга выходит, они просят у друзей-книжников ее на погонять и делают качественный скан. Скан уворачивается в pdf/djvu/chm и выкладывается в сеть.

Таким образом, мы можем иметь книжку едва ли не в день ее выхода, в качестве не сильно худшем, чем ее бумажный оригинал.

Будет ли когда-нибудь ее электронная версия, а уж тем более вычитанная электронная версия - бабушка на трое сказала. Книг слишком много, чтобы все их ocr'ить и вычитывать. А вот скан мы имеем мгновенно!

(исключение - разве что pdf'ки Apress'а и еще пары товарищей, продающих электронные версии - их книги естественно выкладываются сразу же, как первый покупатель купит их =)

Ну так вот. Как постоянный читатель, могу с уверенностью сказать, что сканы в DjVu обычно сделаны гораздо лучше, чем сканы в PDF, и уж тем более чем сканы в CHM.

stevejobs ★★★★☆
()

> А люди говорят: «Выдайте нам спеки видеокарты, мы сами все 3D напишем!». Ага, щас. Напишут.
Вот что-что, а вот драйвера пишут даже без исходников.
http://xkcd.com/619/

quantum-troll ★★★★★
()
Ответ на: комментарий от stevejobs

ППКС. Хоть это и нарушает какие-то там права автора и издателя, но это так.

По моей специальности литература выходит небольшими тиражами, в библиотеку вуза годные книги попадают редко, если и приходит что-то, то авторства КПИ-шных профессоров в стиле remake книг 80-х.

А покупать много книг того же «Питер"a, „БХВ-Петербург“, серии Мир электроники „Техносферы“, которые хоть без блевания читать можно, не говоря о чём-то зарубежном я не могу себе позволить.
Потому и довольствуюсь сканами в djvu. Если мне надо процитировать или формулы для отчёта взять, плюну и наберу с картинки.

adriano32 ★★★
()
Ответ на: комментарий от quantum-troll

>Вот что-что, а вот драйвера пишут даже без исходников.
Вот, знаете, у некоторых людей без исходников разыгрывается хакерский азарт, и они пишут. А если им дать исходники, они могут решить, что это неспортивно, и писать перестанут.

proud_anon ★★★★★
() автор топика
Ответ на: комментарий от proud_anon

RI такая штука, что у тебя порой может выйти лучше, чем у тех, кто писал исходный код. Главное, чтоб в архитектуре проекта не было косяков, иначе mission impossible

adriano32 ★★★
()

>Вот взялся я, сидя под Линуксом, изготавливать электронную книгу в открытом и свободном формате DjVu

Можно далеко не ходить и вспомнить SIP. Вроде все открыто и хорошо, а до сих пор нет ни одного клиента(использующего Pulse Audio), через который можно нормально поболтать через инет.

Siado ★★★★★
()

Вот тут некоторые люди говорят, что, мол, обпеньсорс-сообщество может все
Да, если это самое «всё» нужно достаточно большому количеству людей. Похвастаюсь ещё раз. Как только спеки удалось достать, опеньсорс-сообщество запилило всё в кратчайшие сроки. А почему? А потому что это нужно большему количеству людей. Такие дела.

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от baverman

>Удивительно, что ты не можешь осознать причину.

Да нет, осознал же:

Может быть, у меня кривые руки.

thrall
()
Ответ на: комментарий от stevejobs

Тебя не туда занесло.

Я говорил про то, что *делать* djvu под линуксом мало кому надо. Отсюда вся боль ТС. Так понятно? Есть возражения?

baverman ★★★
()

Хорошая тема. Комментарии отлично отражают главную проблему свободного сообщества вообще и линуксойдов в частности. Если кто-нибудь разумно критикует непогрешимый Линукс, или всепобеждающий свободный софт, то он автоматически становится криворуким маководом или виндузятником, проблемы на которые он указывает называются несущественными, а фичи которые он запрашивает оказываются ненужными. Потому что сообщество поражено раком, часть людей надели шоры на глаза, считая, что их фанатизм является благом, но на самом деле он лишь идёт во вред прогрессу. Если бы эти люди стояли у руля, то багтрекер ядра был бы пуст, а на его месте огромными буквами было бы начертано: «В Линуксе багов нет!». Да, в Линуксе багов нет, 12309 высосан из пальца, свободные файловые системы не теряют данные при сбоях питания и не требуют дефрагментации, 255 байт на имя файла хватит каждому, по Alt+Shift переключают раскладку только виндузятники, типы файлов придуманы Гейтсом и не должны быть в файловом диалоге GTK, GCC обгоняет ICC и без SIMD-расширений, защита от дурака не нужна, команды не требуют подробной документации и уничтожают данные только у криворуких идиотов, ради маленькой программки не жалко поставить и KDE, тиринг - это миф, ну и конечно же - любой свободный софт лучше проприетарных аналогов.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от Nebuchadnezzar

Ты унылый школоло, даже параграфы осилить не можешь. Твой высер памфлет отражает лишь твое очевидно поверхностное понимание сути СПО.

unanimous ★★★★★
()
Ответ на: комментарий от unanimous

Баттхерт детектед. А пост то вполне правдивый и таки отражает проблему сообщества, в твоем лице в особености. Кстати прям как в посте: на днях непогрешимая ext4 рухнула после потери питания и утащила внезапно файлы в /dev/null, причем те которые не использовались в это время, сижу и офигеваю до сих пор.

ooobooontooo
()
Ответ на: комментарий от Igron

Еще один все понял.

Еще одна Ярославна.

Позиция «прещесообщество ничего не может», зависшая и неустойчивая. Скатись уже к какому-нибудь выводу. А то очень похоже на непотопляемую субстанцию в проруби.

Это, кстати, касается и других дам, отметившихся в треде.

baverman ★★★
()
Ответ на: комментарий от ooobooontooo

таки отражает проблему сообщества

Нет никакого сообщества, обязанного решать твои проблемы. Внезапно, да?

baverman ★★★
()
Ответ на: комментарий от ooobooontooo

Ну, дык, пост не от балды был написан, а по мотивам личных хождений по стерне, а так же темам на ЛОРе. Как пример:

http://www.linux.org.ru/forum/talks/6486325
http://www.linux.org.ru/forum/desktop/6314387
http://www.linux.org.ru/forum/talks/4124342
http://www.linux.org.ru/forum/talks/6123975

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от Nebuchadnezzar

> и не требуют дефрагментации

А я ведь думаю, чего у меня файлопомойка за три года нафрагментировалась на 3%.

melkor217 ★★★★★
()
Ответ на: комментарий от ooobooontooo

> Кстати прям как в посте: на днях непогрешимая ext4 рухнула после потери питания и утащила внезапно файлы в /dev/null
Во первых — nodelalloc. Во вторых — бекапы.
Опенсурс: когда не предупреждают.

quantum-troll ★★★★★
()

Свободные форматы, да... Дайте нам спеки — мы все напишем, да...


Ты путаешь читалку формата и полноценный мегасофт в котором «все есть». Ну дали им спеки - они написали читалку и писалку формата по спекам.

Проблема в том что в интернете часто путают мегаредактор и нечто что работает с форматом. Конвертер того же корела, когда выпилят, будет в сущности не очень большой. А вот сам корел - здоровенная софтина с кучей возможностей.

Так и тут - ты хочешь удобный софт для спирачивания книг :D А не читалкописалку djvu.

kernel ★★☆
()

А всё потому, что никому этот ваш DjVu не нужен.

Deleted
()
Ответ на: комментарий от baverman

> Позиция «прещесообщество ничего не может», зависшая и неустойчивая. Скатись уже к какому-нибудь выводу. А то очень похоже на непотопляемую субстанцию в проруби.

Сообщество без финансирования мало что может. Редкие исключения лишь подтверждают правило.

Именно поэтому мы наблюдаем бесконечное число игр в стиле «конец 90х, только я еще ее не доделал».
Именно поэтому мы не наблюдаем ни одного вменяемого свободного современного инструмента для разработки на HTML5, только от Adobe, как ни странно.
Именно поэтому мы имеем 20 плееров с почти идентичным функционалом, но написать нормальный фронтенд к существующим системам распознавания текста не может никто.
Именно поэтому каждые несколько лет выходят очередные версии DE, разработчики которых кладут огромный болт на всех своих пользователей.
Именно поэтому детские баги во многих крупных проектах висят годами.
Именно поэтому над шутками про гимп и его цветовые модели уже давно никто не смеется.
Именно поэтому мы не имеем «множества чудесных свободных» приложений, которые можно применить в реальной жизни, буквально по одному-два на задачу: монтаж видео — kdenlive, векторная графика — inkscape/sk1, офис — libreoffice и т.д.
Именно поэтому за списком из тысяч графических приложений в репозиториях на всех компьютерах стоят одни и те же, хоть как-то работающие, и разнообразия не наблюдается.

Единственное, что спасет линукс-десктоп от однопроцентного забвения — его коммерциализация. Уже понятно, что в текущем виде этого не будет: на десктопы правдами и неправдами придут android с хромом. Даже Шаттлворт с его магазином не спасут. Увы.

Еще одна Ярославна. [...] Это, кстати, касается и других дам, отметившихся в треде.


По-моему, у вас какие-то гендерные проблемы, мужчина.

Igron ★★★★★
()
Ответ на: комментарий от Igron

Именно поэтому…

Да нет же, это всего лишь обоснование тезиса про прыщесообщество. С ним спорить глупо, это реальность.

Меня интересует позиция на такой шкале крайностей:

0. Сообщество ничего не может, поэтому единственный выход — пользоваться исключительно коммерческими продуктами.

10. Сообщество ничего не может, поэтому придется делать всё необходимое самому.

Я поближе к натуральному краю — активно пилю недостающий, лично мне, функционал.

baverman ★★★
()
Ответ на: комментарий от baverman

> Я поближе к натуральному краю — активно пилю недостающий, лично мне, функционал.

До первой серьезной задачи (драйвер, серьезное приложение и т.п.). После чего запал пропадает, и в бой идут зеленые бумажки.

Что касается «шкалы ценностей», то моя позиция примерно такова:

Сообщество без материальной выгоды не способно на хоть сколько-нибудь серьезные подвиги, и это никогда не изменится. (1. Разве кто-нибудь за двадцать лет на коленке написал убийцу microsoft word 1.1? 2. Знаете ли вы, что в СССР 1.5% земель, которые были в частных руках, давали 60% всего картофеля?) Именно по этой причине глупо искать среди свободных проектов подходящие инструменты для всего-на-свете, худо-бедно они справляются только с некоторыми офисными (ни о чем) задачами. И те успешные приложения, что уже написаны, в массе своей финансируются жирными чемоданами денег. Поэтому, увы и ах, для множества задач необходимо использовать платное ПО, которое подчас не доступно под линуксами. И это нормально: лучше зарабатывать деньги (которые сделают вас свободнее в реальной жизни, а не у дисплея), используя платное ПО, чем изображать из себя православного свободного нищего мученика.

Igron ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.