Как разделить файл WMV с Java - PullRequest
1 голос
/ 12 мая 2011

Как я могу разделить * .wmv файл (используя Java)? Я попробовал простой алгоритм, такой как чтение байтов из файла wmv и сохранение первой половины в одном файле, а другую половину - в другом файле. Но второй становится неиграбельным. Как я вижу, я должен добавить во второй файл правильный заголовок, чтобы медиаплееры правильно интерпретировали данные. Это правда? Как я могу сделать расщепление, если это не так и где я могу найти спецификацию заголовка WMV, если мое предположение верно?

1 Ответ

3 голосов
/ 12 мая 2011

Вы не будете помогать себе с какими-либо определениями формата, поскольку файлы WMV обрабатываются корректно только через Windows Media Format SDK.

Вот немного (очень мало) информации о том, как вызвать COM из Java: http://www.eggheadcafe.com/software/aspnet/29766681/windows-media-encoder-sdk-java.aspx

Затем перейдите к http://sourceforge.net/projects/windowsmedianet/files/WindowsMediaNetSamples/Dec%202008/

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

Кроме того, вы должны знать, что вы сможете разбивать файлы ТОЛЬКО в CLEAN_POINTs (это WMV-язык для KEYFRAME).

EDIT:

На самом деле, я бы выбрал для вас Windows-машину и простой .exe-файл или какую-нибудь другую утилиту для дополнительных процессов, которую вы будете запускать из Java. Я твердо убежден, что это будет проще.

И если у вас нет компьютера с Windows, вам придется пройти код VLC, чтобы найти анализатор формата ASF.

...