Мне нужно создать канал, который имеет два потока - webm и mp4 - чтобы он мог быть совместим со всеми видеопроигрывателями HTML5. Поток webm работает отлично. Однако при попытке доступа к потоку mp4 сервер выдает следующую ошибку:
Sat Mar 9 23:21:54 2013 muxer does not support non seekable output
Вот часть файла ffserver.conf, которая работает с потоком mp4:
<Stream channel1.mp4> # Output stream URL definition
Feed feed1.ffm # Feed from which to receive video
Format mp4
# Audio settings
AudioCodec libmp3lame
AudioBitRate 64 # Audio bitrate
# Video settings
VideoCodec libx264
VideoSize 560x320 # Video resolution
VideoFrameRate 25 # Video FPS
AVOptionVideo flags +global_header # Parameters passed to encoder
# (same as ffmpeg command-line parameters)
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400 # Video bitrate
</Stream>
Из того, что я могу найти, некоторые люди говорят, что mp4 просто не может быть потоковым. У меня нет привязанности к mp4, за исключением того, что у меня сложилось впечатление, что вам нужен mp4 для потоковой передачи видео на iPhone с помощью видеоплеера HTML5. Если это не так, дайте мне знать, и я с удовольствием переключусь на что-то, что будет лучше с потоковой передачей ffmpeg.
-movflags faststart
или обработать егоqt-faststart
, а затем указать файл MP4 в<video>
теге. Тогда вашему серверу необходим потоковый модуль H.264, чтобы клиент мог выполнять поиск. Или у вас есть живой вклад?Ответы:
Статья HTML 5 и видео для iPad с вашего собственного веб-сайта , последнее обновление 12 ноября 2014 года, содержит следующую информацию:
В статье рекомендуется использовать MP4 в качестве хорошего решения с достаточно свежей версией ffmpeg, используя кодирование H.264 с AAC.
Предлагаю прочитать статью с вниманием к деталям: в ней содержится пример HTML-файла, который будет работать во всех основных браузерах, а также пример команды FFmpeg, используемой для преобразования видео в файлы .mp4, чтобы они правильно транслировались.
источник
Я полагаю, будет полезно подумать о HTTP Live Streaming.
https://developer.apple.com/streaming/
Насколько я понимаю, это прекрасно работает в устройствах IOS.
Вот один из примеров:
/programming/28723993/ffmpeg-hls-stream-for-android-and-ios
источник