Сжатие видеопотока AVI и слепое копирование другого потока. - PullRequest
0 голосов
/ 05 июля 2011

У меня есть куча видеофайлов с немного странным форматом. Это обычный видеопоток, а также текстовый поток, который используется для хранения точных временных отметок видеокадров (из синхронизированных с GPS аппаратных часов). Вот пример вывода из ffmpeg:

Input #0, avi, from 'in.avi':
  Duration: 00:00:52.13, start: 0.000000, bitrate: 311033 kb/s
    Stream #0.0: Video: rawvideo, rgb32, 658x492, 30 tbr, 30 tbn, 30 tbc
    Stream #0.1: Data: 0x0000

Видео не сжато, поэтому я хочу сжать его. Я успешно использую ffmpeg для этой части. Проблема в том, что я хочу отобразить поток данных № 0.1 в выходной файл, полностью без изменений. Я пытался и пытался, но я не могу найти способ заставить ffmpeg сделать это. Он хочет работать только с потоками аудио, видео и субтитров, а текст не имеет допустимого формата субтитров. Парень, который сделал видео, просто удалился, поэтому изменение формата ввода не вариант. Есть идеи?

1 Ответ

0 голосов
/ 06 июля 2011

Хорошо, давайте рассмотрим, что вы пытаетесь сделать здесь:

  • Вы хотите сэкономить место и сохранить свой архив в целости и сохранности. Благородная идея. Но каково использование видеофайлов? Поскольку у вас есть поток данных внутри файла AVI, кажется, что у вас есть программное обеспечение, которое будет ЧИТАТЬ эти файлы и что-то с ними делать. Итак, это программное обеспечение способно читать сжатое видео вообще?
  • частота кадров видео постоянна или она меняется? Если оно постоянное, вы можете извлечь время для первого кадра и программно рассчитать время каждого кадра при использовании файла.
  • AVI не справится с тем, что вы пытаетесь сделать. Вы можете иметь то, что у вас есть сейчас, потому что существует однозначное соответствие между видеокадром и временной меткой, когда ваше видео упаковано, будут KEYFRAMES и другие видеоданные, и вы сможете только пометить ключевые кадры временной меткой
  • Если вам не нужно программное обеспечение для ИСПОЛЬЗОВАНИЯ файла, можете ли вы рассмотреть метку времени в кадре видео и полностью прервать поток данных?

Ну, я не хотел отвечать ответом, но ваш вопрос слишком открытый.

РЕДАКТИРОВАТЬ: я читаю, что AVI-файлы ARE действительно с постоянной частотой кадров, так что вы действительно можете использовать первый метод и записать метку времени первого кадра в некоторый файл.

...