i am developping an iPhone application and i use ffmpeg. The objective of the application is to collect the video data flux from a webcam.
I success in having the video data flux and i change it in mpeg4 format (can be read on an iPhone)
The problem is when i try to read this "mp4 streaming file", iPhone says: "The server is not correctly configured".
So, i have a look on my ffserver and on terminal, i see when iPhone try to read video:
"Codec for Stream0 does not use global headers but container format requires global headers"
"muxer does not support seekable output"
"error writing output header"
I try to change settings into ffserver.conf but the problem is still there, bitrate etc.. mais en vain.
if one of you have an idea about this problem... that could be perfect.
I try with the "vglobal" command but the problem is still there. I maybe found the real problem : it s about the "mp4 atoms". ffmpeg put those "atoms" at the end of the file and for streaming, it must be at the beginning...
The "qt-faststart" can do it but not for a file who change at real time (caused by webcam streaming)...
if you have any other suggestion, it will be great.
The "moov" atom in the mp4 container is mostly related to progressive download rather than streaming. I currently stream mp4 files without the "moov" atom using a Wowsa server and JW player. No problem streaming without the atom.
I looked into the FFserver config file I have installed on the box I am on at the moment (0.5.1) and it states:
# Format of the stream : you can choose among:
# mpeg : MPEG-1 multiplexed video and audio
# mpegvideo : only MPEG-1 video
# mp2 : MPEG-2 audio (use AudioCodec to select layer 2 and 3 codec)
# ogg : Ogg format (Vorbis audio codec)
# rm : RealNetworks-compatible stream. Multiplexed audio and video.
# ra : RealNetworks-compatible stream. Audio only.
# mpjpeg : Multipart JPEG (works with Netscape without any plugin)
# jpeg : Generate a single JPEG image.
# asf : ASF compatible streaming (Windows Media Player format).
# swf : Macromedia Flash compatible stream
# avi : AVI format (MPEG-4 video, MPEG audio sound)
I think the problem is the server, not the file. mp4 (container) is not listed as a supported format at this time.
"half-way to world domination A.K.A. the belligerent blue bike shed"