1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tjbaobao-MP4Info

Клонировать/Скачать
README.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 23.04.2025 03:06 0e7678c

MP4Info

Без использования потокового вещания можно легко реализовать функцию скачивания и воспроизведения видео в реальном времени для файлов MP4 и других форматов.

Инструкция по использованию

/**
 * Пример программы MP4Info
 * @author TJbaobao
 *=====================Пояснение принципа работы: http://blog.csdn.net/u013640004/article/details/53573864
 *=====================Скачать инструмент MP4Info: http://shouji.baidu.com/software/10519592.html
 *=====================Мой сайт: www.imczm.com
 *=====================Играю с проигрывателем, скоро будет готово
 */
public class Main {
    public static void main(String[] args) {
        //============================Начало разделения видео файла===========================
        //Создание пользовательских данных
        CustomData customData = new CustomData();
        customData
        .addData(CustomData.DATA_TYPE_HEAD_SIZE) //Добавление встроенных переменных
        .addData("name", "test.mp4") //Добавление строки
        .addData("abc", "я люблю хозяина")
        ;
        Mp4Helper mp4HelperMentation = new Mp4Helper();
        //Добавление слушателя прогресса
        mp4HelperMentation.setOnProgressListener(new OnProgressListener() {
            @Override
            public void onProgress(float readed, float size) {
                System.out.println("Прогресс разделения: " + readed / size);
            }
        });
        //Начало разделения видео
        ArrayList<String> pathList = 
                mp4HelperMentation.segmentation("video/test.mp4", "video", customData); //Путь к видео, папка для выходных файлов, структура пользовательских данных
        //===========================Конец разделения видео файла==============================
        //===========================Начало объединения видео файла==============================
        Mp4Helper mp4HelperMerger = new Mp4Helper();
```        // Установка слушателя прогресса объединения
         mp4HelperMerger.setOnProgressListener(new OnProgressListener() {
             @Override
             public void onProgress(float readed, float size) {
                 System.out.println("Прогресс объединения: " + readed / size);
             }
         });
         // Передача пути к файлу с форматом tjbb, начало чтения обязательных данных
         Mp4Merger mp4Merger = mp4HelperMerger.mergeInfo(pathList.get(0), "video/test_merge.mp4"); // Путь к файлу с форматом tjbb, путь к выходному видео
         // Получение структуры пользовательских данных
         CustomData customDataGet = mp4Merger.getCustomData();
         if (customDataGet != null) {
             System.out.println("name: " + customDataGet.getStringValue("name"));
         }
         // Добавление данных видео файла
         int i = 0;
         for (String path : pathList) {
             if (i != 0) {
                 mp4Merger.addMDat(path);
             }
             i++;
         }
	//===========================Объединение видео файлов завершено==============================
}

}

### Полный пример DEMO, включая запись и воспроизведение всего набора
**[VideoPlayOL](https://gitee.com/tjbaobao/VideoPlayOL)**
В разработке. В настоящее время недоступен (переработка, нет времени на написание).

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/tjbaobao-MP4Info.git
git@api.gitlife.ru:oschina-mirror/tjbaobao-MP4Info.git
oschina-mirror
tjbaobao-MP4Info
tjbaobao-MP4Info
master