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

Reply via email to