Hi All, I have asked the same question on the ffmpeg_user mailing list, but I am asking here too as I have no solution as yet
I want to stream media files from my Ubuntu Linux 8.04 and play the stream on my Android. Initially, I am trying to stream media from a file over HTTP in 3GP format using ffserver and ffmpeg and play the stream on the same machine using ffplay When I use ffplay I see the following: *http://127.0.0.1:8090/test1.3gp: Invalid data found when processing input* and ffserver shows following error when I execute ffplay: ========================================================================= ./ffserver -f 3gp_conf1 FFserver version 0.6, Copyright (c) 2000-2010 the FFmpeg developers built on Jul 1 2010 14:57:41 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) configuration: libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0.11. 0 / 0.11. 0 Thu Jul 1 17:37:28 2010 FFserver started. Thu Jul 1 17:37:44 2010 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 8245 Thu Jul 1 17:37:48 2010 *Codec for stream 0 does not use global headers but container format requires global headers* Thu Jul 1 17:37:48 2010 *Codec for stream 1 does not use global headers but container format requires global headers* Thu Jul 1 17:37:48 2010 *muxer does not support non seekable output* Thu Jul 1 17:37:48 2010 *Error writing output header* Thu Jul 1 17:37:48 2010 127.0.0.1 - - [GET] "/test1.3gp HTTP/1.1" 200 79 Thu Jul 1 17:37:48 2010 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 389120 ========================================================================= * * I see* similar error* when I try to *stream mp4* format. But when I choose format (in ffserver config) as *mpeg, **no error* is seen and ffplay shows the A/V. But I finally want to view the video on Android and it does not support mpeg file format. So I need to stream in either mp4 or 3gp format. I have tried using 2/3 different media files (.mp4, .3gp, .ts) for input and land into same error. I can create mp4/3gp files using ffmpeg and I am able to play these files on my Android mobile. But I do not want to copy all the content, I want to stream from my Ubuntu box and view on Android. For adding global headers, Are there any specific flags that I need to use with ffmpeg? is there anything extra needed in ffserver configuration to do 3GP streaming? I have done much google search and also tried some ffmpeg options that I thought to be possible solutions, but with no luck. Now I need expert opinion :) Please flood in your thoughts. *ffmpeg command* * ========================================================================= ./ffmpeg -i ../../Media/747.3gp -acodec aac -vcodec mpeg4 -sameq -vglobal 2 http://127.0.0.1:8090/feed1.ffm FFmpeg version 0.6, Copyright (c) 2000-2010 the FFmpeg developers built on Jul 1 2010 14:57:41 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) configuration: libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0.11. 0 / 0.11. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../../Media/747.3gp': Metadata: major_brand : 3gp4 minor_version : 512 compatible_brands: 3gp4 encoder : avc2.0.11.1110 encoder-jpn : avc2.0.11.1110 Duration: 00:00:31.20, start: 0.000000, bitrate: 136 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 160x128 [PAR 1:1 DAR 5:4], 120 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 12 kb/s Output #0, ffm, to 'http://127.0.0.1:8090/feed1.ffm': Metadata: encoder : Lavf52.64.2 Stream #0.0(eng): Audio: aac, 44100 Hz, 1 channels, s16, 8 kb/s Stream #0.1(eng): Video: mpeg4, yuv420p, 192x144, q=2-31, 64 kb/s, 1000k tbn, 5 tbc Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 Press [q] to stop encoding Warning, using s16 intermediate sample format for resampling [mpeg4 @ 0x8ae3f70]rc buffer underflow frame= 20 fps= 0 q=2.0 size= 52kB time=3.88 bitrate= 109.9kbits/s dup=0 frame= 38 fps= 37 q=2.4 size= 100kB time=7.57 bitrate= 108.2kbits/s dup=0 frame= 57 fps= 37 q=2.5 size= 140kB time=11.33 bitrate= 101.2kbits/s dup=0 frame= 75 fps= 37 q=2.5 size= 180kB time=14.98 bitrate= 98.5kbits/s dup=0 frame= 92 fps= 36 q=2.9 size= 216kB time=18.30 bitrate= 96.7kbits/s dup=0 frame= 107 fps= 35 q=4.9 size= 256kB time=21.40 bitrate= 98.0kbits/s dup=0 frame= 123 fps= 35 q=3.2 size= 300kB time=24.59 bitrate= 99.9kbits/s dup=0 frame= 140 fps= 35 q=3.7 size= 332kB time=27.89 bitrate= 97.5kbits/s dup=0 frame= 154 fps= 34 q=3.6 size= 364kB time=30.79 bitrate= 96.8kbits/s dup=0 frame= 157 fps= 34 q=3.4 Lsize= 380kB time=31.21 bitrate= 99.8kbits/s dup=0 drop=622 video:311kB audio:37kB global headers:0kB muxing overhead 9.150682% ========================================================================= * * * * If I execute same ffmpeg command again without restarting ffserver I see following error. Is this expected? ========================================================================= ./ffmpeg -i ../../Media/747.3gp -acodec aac -vcodec mpeg4 -sameq -vglobal 2 http://127.0.0.1:8090/feed1.ffm FFmpeg version 0.6, Copyright (c) 2000-2010 the FFmpeg developers built on Jul 1 2010 14:57:41 with gcc 4.2.4 (Ubuntu 4.2.4-1ubuntu4) configuration: libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52.72. 2 libavformat 52.64. 2 / 52.64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0.11. 0 / 0.11. 0 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../../Media/747.3gp': Metadata: major_brand : 3gp4 minor_version : 512 compatible_brands: 3gp4 encoder : avc2.0.11.1110 encoder-jpn : avc2.0.11.1110 Duration: 00:00:31.20, start: 0.000000, bitrate: 136 kb/s Stream #0.0(eng): Video: mpeg4, yuv420p, 160x128 [PAR 1:1 DAR 5:4], 120 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 12 kb/s [mpeg4 @ 0x8ae3f70]Error parsing rc_eq "comment": undefined constant or missing ( Output #0, ffm, to 'http://127.0.0.1:8090/feed1.ffm': Stream #0.0(eng): Audio: aac, 44100 Hz, 1 channels, s16, 8 kb/s Stream #0.1(eng): Video: mpeg4, yuv420p, 192x144, q=2-31, 64 kb/s, 1000k tbn, 5 tbc Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height ========================================================================= * * * * * *ffserver config*: ========================================================================= Port 8090 BindAddress 0.0.0.0 MaxHTTPConnections 20 MaxClients 10 MaxBandwidth 100000 CustomLog - NoDaemon ################################################################## <Feed feed1.ffm> File /tmp/feed1.ffm FileMaxSize 2M ACL allow 127.0.0.1 </Feed> ################################################################## <Stream test1.3gp> Feed feed1.ffm Format 3gp AudioBitRate 8 AudioChannels 1 AudioSampleRate 44100 VideoBitRate 64 VideoBufferSize 20 VideoFrameRate 5 VideoSize 192x144 AudioCodec aac VideoCodec mpeg4 Preroll 15 </Stream> ################################################################## # Server status <Stream stat.html> Format status ACL allow 127.0.0.1 </Stream> # Redirect index.html to the appropriate site <Redirect index.html> ========================================================================= -- Regards, Yadnesh ---------------------------------------------------------------------- Christopher Morley - There is only one success - to be able to spend your life in your own way. _______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
