2016-02-09 2 views
0

Я использую Oracle-MAF для разработки мобильных приложений (Android и IOS). Имея требование захватить носитель (изображение, аудио и видео) в приложении и хотите сохранить в Oracle DB, как правило, CLOB-столбец.Преобразование медиаконтента в строку в Java

Так что для конвертированных захваченных носителей в строку base64 (с использованием commons-codec-1.10.jar) и прохождения через веб-службу отдыха (Accept JSON/XML) для хранения в БД.

Для изображения и аудио длины строки base64 это хорошо, но для видео он потребляет около 6.4 million символов даже для 2 sec video (2MB Rear camera), и это причина замедлить применение и в результате пространство ошибка Java кучи.

Есть ли другой способ преобразования медиаконтента в String с использованием Java, который дает приемлемое решение?

+0

Для повышения производительности вы можете использовать сжатие. – mmuzahid

+0

Спасибо за идею, хорошо после преобразования я могу отправить его как JSON? –

+0

И еще один вопрос. Как я предположил, я смотрел http://www.oracle.com/technetwork/articles/java/compress-1565076.html эту ссылку. В строке base64 уже есть номер в нем (пример: iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAOQUEEQVR4Xu2dv64sRxGHbfEAxhkBkhdBiGSQyEBinSP58if3IpFzkcgIOPcF4DpGgnVGgmyLB2AJyJBsQiKPxQvYD4BM), то как он может правильно его распаковать. Если у вас есть другая ссылка для сжатия и декомпрессии? Если да, пожалуйста, поделитесь ... –

ответ

0

Если действительно необходимо сохранить видео в столбце CLOB/BLOB таблицы в БД, сначала сохраните содержимое в файле, а затем попросите асинхронный планировщик сохранить его в БД. Лучше всего было бы, чтобы этот планировщик работал в другой виртуальной машине Java, чтобы не мешать серверу приложений, работающему на стороне вашего сервера.

Если вы можете сохранить все двоичное содержимое как двоичное в файле и путь в БД. Файловые системы - наилучшее решение для обслуживания двоичных данных.

+0

Спасибо за ответ, Файловая система не соответствует моим требованиям. Поскольку позже один и тот же мультимедийный контент должен быть доступен на другом устройстве. Я проверю ваш первый подход и вернусь к вам. Один вопрос: возможно ли иметь планировщик в устройстве android/ios? –

+0

Файл должен быть сохранен на сервере рядом с БД Oracle. Настройте сервер Apache или Nginx для обслуживания этих двоичных файлов, и они будут доступны для всех устройств. –

Смежные вопросы