[FFserver-user] not able to replay video from .ffm recorded earlier

Robert Steckroth robertsteckroth at gmail.com
Fri Sep 7 05:31:08 CEST 2012


FileMaxSize 15M <-- 15 Megabytes is very small.

On Thu, Sep 6, 2012 at 10:35 PM, Yogesh Tyagi <yogesh.bit2006 at gmail.com> wrote:
> On Fri, Sep 7, 2012 at 4:17 AM, Robert Steckroth
> <robertsteckroth at gmail.com> wrote:
>> Also, I believe there is a file size limit in the conf which will need
>> to be set high. Than you will need to rotate
>> the recorded file. If you do not copy and empty the file, it will
>> become corrupted. Keep in mind, if you
>> simply empty the file e.g. cat > temp.ts, than you need to restart the
>> ffserver to insert the proper
>> headers.
>>
>>
>> On Thu, Sep 6, 2012 at 4:54 PM, Anthony Brown <av at bsbc.nb.ca> wrote:
>>> On 12-09-06 04:12 PM, Yogesh Tyagi wrote:
>>>
>>>> so one feed can have one video or multiple videos?can I fed same feed
>>>> through an instance of ffmpeg multiple times(if I do this the size of
>>>> feed keeps increasing.is the feed storing duplicate videos)? In this
>>>> case what will happen to the data previously fed to the feed?
>>>> The problem I am facing is that sometimes my client(say ffplay) plays
>>>> the file from start that was fed through ffmpeg.sometimes it does not.
>>>
>>>
>>> You need to differentiate between a 'feed' and a 'stream'.  Feeds are inputs
>>> to the server.  Each feed can be converted into multiple 'stream' formats
>>> that can be output.  All of which are stored in a single ffm file.  A feed
>>> is 'fed' to ffserver by an instance of ffmpeg.  Each 'video', which I take
>>> to mean a separate feed is stored in a separate .ffm file.  All as specified
>>> in your .conf file.
>>>
>>> Each 'video' requires a separate ffmpeg to 'feed' it to ffserver, and a
>>> separate ffm file to store it.
>>>
>>>
>>>> If i repeat the operation of feeding the feed through ffmpeg and
>>>> accessing the file through a client then ffserver starts giving me
>>>> following error:
>>>>
>>>> Application provided invalid, non monotonically increasing dts to
>>>> muxer in stream 0(or 1)
>>>> Error writing frame to output
>>>
>>>
>>> Not sure what that means.
>>>
>>>
>>>> Is there any way through which I can find out what has been stored in the
>>>> feed?
>>>
>>>
>>> yes, do an ffmpeg -i whatever.ffm and it will list the goodies inside.
>>> Alternatively, connect to the ffserver status page
>>> (http://whatever.your.server.address.is:8090/stat.html) and see what is
>>> there.
>>>
>>> It would be easier to help if we knew what it was you were trying to
>>> accomplish and exactly what you have tried (contents of ffserver.conf,
>>> ffmpeg command line and output, client output etc.)
>>>
>>>
>>> A
>>> --
>>>
>>>
>>> Anthony Brown
>>> Audiovisual coordinator
>>> Brunswick Street Baptist Church
>>> Telephone: (506)-458-8348 (leave message)
>>> Email:     av at bsbc.nb.ca
>>>
>>> _______________________________________________
>>> ffserver-user mailing list
>>> ffserver-user at ffmpeg.org
>>> http://ffmpeg.org/mailman/listinfo/ffserver-user
>>>
>>
>>
>>
>> --
>> Bust0ut, Surgemcgee: Systems Engineer ---
>> surgemcgee.com
>> BudTVNetwork.com
>> RadioWeedShow.com
>> "Bringing entertainment to Unix"
>> _______________________________________________
>> ffserver-user mailing list
>> ffserver-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffserver-user
>
> my  ffserver.conf file is as follows:
>
> Port 8091
> BindAddress 0.0.0.0
> MaxHTTPConnections 2000
> MaxClients 100
> MaxBandwidth 1000000
> CustomLog -
> NoDaemon
>
> <Feed feed1.ffm>
>  File /tmp/feed1.ffm
>  FileMaxSize 15M
>  ACL allow 127.0.0.1
> </Feed>
>
> <Stream test.ts>
>
>     Feed feed1.ffm
>     Format mpegts
>
>     AudioCodec mp2
>     AudioBitRate 128k
>     AudioChannels 2
>     AudioSampleRate 48000
>     AVOptionAudio flags +global_header
>
>     VideoCodec libx264
>     VideoBitRate 800k
>     VideoFrameRate 100
>     VideoSize 640x480
>     AVOptionVideo coder 0
>     AVOptionVideo bf 0
>     AVOptionVideo flags2 +mixed_refs+fastpskip
>     AVOptionVideo flags +loop
>     AVOptionVideo cmp +chroma
>     AVOptionVideo partitions +parti8x8+parti4x4+partp8x8+partb8x8
>     AVOptionVideo me_method hex
>     AVOptionVideo subq 7
>     AVOptionVideo me_range 16
>     AVOptionVideo g 250
>     AVOptionVideo keyint_min 10
>     AVOptionVideo sc_threshold 40
>     AVOptionVideo i_qfactor 0.71
>     AVOptionVideo b_strategy 1
>     AVOptionVideo qcomp 0.6
>     AVOptionVideo qmin 10
>     AVOptionVideo qmax 51
>     AVOptionVideo qdiff 4
>     AVOptionVideo refs 3
>     AVOptionVideo directpred 1
>     AVOptionVideo trellis 1
>     AVOptionVideo flags2 +mixed_refs+fastpskip
>     AVOptionVideo wpredp 0
>     AVOptionVideo flags +global_header
>     AVOptionVideo bsf h264_mp4toannexb
>
>     VideoGopSize 12
>
>     Preroll 15
>     StartSendOnKey
> </Stream>
>
> <Stream stat.html>
>  Format status
>  ACL allow 127.0.0.1
>  ACL allow 192.168.1.27
> </Stream>
>
> <Redirect index.html>
>  URL stat.html
> </Redirect>
>
>
> when I play test.ts from a client do I need  'fed' the feed to
> ffserver by an instance of ffmpeg simultaneously or can i fed the feed
> now and play the file temp.ts later.
> I have tried this exercise. sometimes the client plays the file
> test.ts,sometimes it does not.
>
> One more question I want to ask is suppose I started feeding the feed
> now and I start the client some time later.will the client be able to
> play the file test.ts from start?
>
> If I fed the feed to ffserver by an instance of ffmpeg muliple times
> and try to play test.ts from client I start getting following errors:
>
>
>
> Following is the command line output:
>
> # ffserver -f /etc/ffserver.conf &
> [1] 30433
> yogesh at yogesh-desktop:~/Desktop$ ffserver version 0.9, Copyright (c)
> 2000-2011 the FFmpeg developers
>   built on Aug 23 2012 13:35:01 with gcc 4.4.5
>   configuration: --enable-libx264 --enable-gpl
>   libavutil    51. 32. 0 / 51. 32. 0
>   libavcodec   53. 42. 0 / 53. 42. 0
>   libavformat  53. 24. 0 / 53. 24. 0
>   libavdevice  53.  4. 0 / 53.  4. 0
>   libavfilter   2. 53. 0 /  2. 53. 0
>   libswscale    2.  1. 0 /  2.  1. 0
>   libpostproc  51.  2. 0 / 51.  2. 0
> Thu Sep  6 20:54:40 2012 FFserver started.
> Thu Sep  6 20:54:50 2012 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4149
> Thu Sep  6 20:54:53 2012 muxrate VBR, pcr every 2 pkts, sdt every 200,
> pat/pmt every 40 pkts
> Thu Sep  6 20:54:57 2012 muxrate VBR, pcr every 2 pkts, sdt every 200,
> pat/pmt every 40 pkts
> Thu Sep  6 20:55:09 2012 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 3739648
> Thu Sep  6 20:55:09 2012 192.168.1.27 - - [GET] "/test.ts HTTP/1.0" 200 2683391
> Thu Sep  6 20:55:09 2012 192.168.1.27 - - [GET] "/test.ts HTTP/1.0" 200 3385007
> Thu Sep  6 20:55:25 2012 muxrate VBR, pcr every 2 pkts, sdt every 200,
> pat/pmt every 40 pkts
> Thu Sep  6 20:55:28 2012 muxrate VBR, pcr every 2 pkts, sdt every 200,
> pat/pmt every 40 pkts
> Thu Sep  6 20:55:32 2012 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4149
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 0
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 3003
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 6006
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 9009
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 0
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 3003
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 6006
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 9009
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 12012
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 15015
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 192.168.1.27 - - [GET] "/test.ts HTTP/1.0" 200 4579
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 12012
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 Application provided invalid, non
> monotonically increasing dts to muxer in stream 1: 2732730 >= 15015
> Thu Sep  6 20:55:33 2012 Error writing frame to output
> Thu Sep  6 20:55:33 2012 192.168.1.27 - - [GET] "/test.ts HTTP/1.0" 200 4579
> Thu Sep  6 20:55:52 2012 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 3739648
>
>
> I am feeding by following command:
>
> ffmpeg -i Sally_720x480p_2997fps_8Mbps_MP1L2_48_224.ts -vcodec libx264
> -acodec mp2  -flags -global_header http://127.0.0.1:8091/feed1.ffm
>
> Regards,
> yogesh
> _______________________________________________
> ffserver-user mailing list
> ffserver-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffserver-user



-- 
Bust0ut, Surgemcgee: Systems Engineer ---
surgemcgee.com
BudTVNetwork.com
RadioWeedShow.com
"Bringing entertainment to Unix"


More information about the ffserver-user mailing list