У меня есть веб-сервис, возвращая .flv файл, он должен играться в приложении для iPhone, как я играю .flv (флеш-файл) в iPhone?
Кто-либо столкнулся с этим сценарием? Программно действительно ли возможно преобразовать в некоторый формат и игру в iPhone?
Спасибо.
Пиото и Джосаи идут по правильному пути, предлагая преобразовать видео на стороне сервера с помощью такого инструмента, как FFMpeg. Насколько мне известно, flv не поддерживается ни в одной части iOS, поэтому вы не сможете перекодировать его локально. Даже если бы вы могли, это разозлило бы ваших пользователей, поскольку перекодирование - это ресурсоемкий процесс, который убьет их заряд батареи и займет значительное количество времени.
Итак, ваше решение - перекодировать ваши видео в h.264 на стороне сервера. Однако я бы предостерегал от перекодирования из flv-> h.264, если есть другие доступные варианты. Если у вас есть исходное несжатое (или, по крайней мере, менее сжатое) исходное видео, вы получите видео более высокого качества, перекодировав его в h.264. Каждый раз, когда в файле используется сжатие с потерями (например, сжатие или h.264), вы теряете некоторую информацию и качество. Если вы когда-нибудь видели копию кассеты VHS третьего или четвертого поколения, вы можете понять, о чем я говорю.
Если у вас есть видео в формате h.264, вы можете воспроизводить его на iOS. Не уверен в точных деталях этого.
Вы можете использовать ffmpeg или что-то еще на своем сервере, чтобы перекодировать его в H.264. Я не уверен, что вам действительно захочется делать это перекодирование на телефоне. Учитывая текущую позицию Apple в отношении Flash, это, вероятно, ваш лучший вариант.
Поскольку видео, вероятно, уже закодировано в h.264 внутри FLV-контейнера, вы можете попробовать FLV Extract на сервере, чтобы избежать рекомпрессии:
http://www.videohelp.com/tools/FLV_Extract
В принципе, вам просто нужно запустить его один раз для каждого видео на сервере и сохранить результаты.
IPhone не поддерживает и, судя по официальным заявлениям Apple, никогда (или, по крайней мере, в обозримом будущем) не будет поддерживать флеш-контент.
Преобразование контента в другой формат на стороне сервера должно быть простым и позволит воспроизводить контент на iDevice.
Я бы рекомендовал настроить ваш веб-сервис на использование чего-то вроде ffmpeg ( http://www.ffmpeg.org/ ) для преобразования файла .flv в файл mp4, который может быть воспроизведен непосредственно из веб-браузера iPhone.