pronix Опубликовано 30 марта, 2015 Здравствуйте. Есть видеозаписи в MPEG-TS для раздачи их на STB по http. Если на Android проигрывать их в VLC, то не работает функция перемотки, хотя, например, MPEG-4 мотается. Можно ли чем-то opensource-ым делать transmuxing MPEG-TS в MPEG-4 "на лету"? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
maxlapshin Опубликовано 30 марта, 2015 У вас слегка путаница в терминах. Наверное вы под mpeg 4 подразумеваете mp4? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pronix Опубликовано 30 марта, 2015 Я ориентировался на вывод mediainfo. Да, mp4 и ts как медиаконтейнеры. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
maxlapshin Опубликовано 30 марта, 2015 большого размера записи? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
taf_321 Опубликовано 31 марта, 2015 Просто "на лету" перекодировать TS->MP4 можно без проблем. Если нужна перемотка, что "на лету" не получится, конвертировать надо весь файл целиком, так как индексирование, необходимое для перемотки, производится в финале перекодировки. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
maxlapshin Опубликовано 31 марта, 2015 Вы не совсем правы. Вопрос в том, как подходить к формированию mp4: однопроходно или двухпроходно. Если mp4 файл пишется на диск и очень хочется сэкономить память, то можно писать сразу mdat атом, но без его длины в начале, а потом положить на диск moov и прописать правильную длину mdat. Такой подход легко делается, но неудобен тем, что обязательно надо писать на диск. Можно использовать двухпроходный вариант, тогда сначала проходим по всему ts файлу, формируем список фреймов и moov атом, потом добавляем к смещениям его размер, выплевываем в сеть moov и начинаем лить mdat уже известного размера. В любом случае пока не будет прочитан последний фрейм ts файла, mp4 литься не начнет. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
taf_321 Опубликовано 31 марта, 2015 В любом случае пока не будет прочитан последний фрейм ts файла, mp4 литься не начнет. Просто представил всю эту красоту, когда файл ломанутся смотреть всего-то 2-5 страждущих... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pronix Опубликовано 31 марта, 2015 большого размера записи? От сотни МБ до 15 ГБ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
maxlapshin Опубликовано 31 марта, 2015 Как верно подметил taf_321, если к вам прийдет больше 2-3 человек, у вас начнутся серьезные проблемы с отдачей. Я вам всё таки советую перепаковать всё в mp4. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...