Потоковая «прокси» конвертация видео форматов - PullRequest
1 голос
/ 29 апреля 2009

Это связано с моим другим вопросом

Здесь я хотел бы спросить, возможно ли теоретически (в соответствии с форматами видеофайлов, кодеками и т. Д.) Иметь такой сценарий:

1) Клиент на iPhone имеет ссылку на видео в формате flv. Он отправляет http-запрос на преобразование «прокси», например http://convproxy.com? Source = url_of_original_video.flv , просто нажав на такую ​​ссылку в Safari

2) Преобразование прокси-сервера начинает загрузку этого flv-файла и преобразование его в mp4 (что понимает iphone) на лету, возвращая преобразованную часть в виде http-ответа, поэтому iPhone может сразу же начать воспроизведение, прежде чем весь flv будет загружен и преобразован. 1012 *

Я играл с ffmpeg, пытаясь сделать это, и он действительно конвертирует flv и создает файл mp4, однако этот файл mp4 не может быть воспроизведен до тех пор, пока преобразование не будет завершено или ffmpeg не остановлен. Если я просто убью процесс ffmpeg, файл mp4 не может быть воспроизведен. Если я позволю ему закончить или нажму ctrl-c, чтобы остановить его, часть, которая была загружена и преобразована, может быть воспроизведена. Похоже, ffmpeg выполняет какую-то работу после получения сигнала остановки. Это необходимая часть формата mp4 или это можно сделать по-другому? Я вижу, что iPhone может передавать потоковое видео, начиная воспроизведение до того, как в него будет загружен весь файл, поэтому в целом это кажется возможным сценарием для меня.

Если коротко, я могу конвертировать файл flv в файл mp4, и вопрос в том, могу ли я конвертировать поток flv в поток mp4.

1 Ответ

1 голос
/ 30 апреля 2009

Согласно википедии , формат контейнера MP4 требует отдельного «трека подсказок» для включения потоковой передачи. Я предполагаю, что ffmpeg пишет это в конце преобразования. Если для iPhone OS требуется эта дорожка для потоковой передачи, я не вижу способа для потоковой передачи живого видео за пределами использования другого формата и наличия собственного декодера на стороне iPhone, аналогичного тому, как это делает клиент Orb для iPhone.

...