mainflvstreamer - Support: sr #107134, --timeout Option has no effect in...

 
 

sr #107134: --timeout Option has no effect in v1.9

Submitter:  Thomas <tommics>
Submitted:  Thu 19 Nov 2009 11:36:47 AM UTC
   
 
Category:  None Priority:  5 - Normal
Severity:  4 - Important Status:  Ready For Test
Privacy:  Public Assigned to:  None
Open/Closed:  Open Operating System:  GNU/Linux
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 07 Dec 2009 12:16:33 PM UTC, comment #5: 

i tested the timeout option this weekend again. If the data stream interrupts, flvstreamer immediately exits. So the timeout has no effect here.

is there a chance that flvstreamer would wait for data stream and then starts automatically? would save so much work.

best regards
thomas

Thomas <tommics>
Sun 22 Nov 2009 04:44:09 PM UTC, comment #4: 

but why not?! :)
it would be so easy to schedule live events. now i gotta wait for the stream to begin to start flvstreamer :(

Thomas <tommics>
Sun 22 Nov 2009 04:23:59 PM UTC, comment #3: 

Hi, I think this is what it was supposed to do. If it waited indefinitely for an empty live stream in v1.8 then that was not intended.

fsck <fsck>
Group administrator
Sun 22 Nov 2009 12:51:40 PM UTC, comment #2: 

It behaves as followed now:

if i record a stream with -v 10 and then stop the encoder (so flvstreamer isnt getting any data) it stops immediatly and doesnt wait 10 sec.

If i start flvstreamer with -v 10 and no encoder is sending, it times out after 10 seconds correctly.

When i start flvstreamer before starting the encoding, flvstreamer is still not recognizing incoming data. This is the most annoying thing to schedule live events. If i could just start flvstreamer and it automatically starts when data is incoming, it would be perfect. This worked in v1.8.

best regards
thomas


Thomas <tommics>
Sun 22 Nov 2009 12:06:17 PM UTC, comment #1: 

I've commited some patches to flvstreamer svn that address this issue (credit to rtmpdump maintainers for this). svn checkout, compile and let me know if they help.

fsck <fsck>
Group administrator
Thu 19 Nov 2009 11:36:47 AM UTC, original submission:  

hey,

if i specify the timeout option with some value, lets say 10 sec, it doesnt do what i expect it to do, timing out and exiting. Instead it tries every $timeout seconds to resume the stream.

WARNING: AMF_LONG_STRING not tested!
DEBUG: Property: NULL
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
206.218 kB / 1.04 sec
DEBUG: HandlePacket, received: invoke 215077 bytes
WARNING: AMF_LONG_STRING not tested!
DEBUG: Property: NULL
DEBUG: HandleInvoke, server invoking <_onbwcheck>
DEBUG: Invoking _result
DEBUG: HandlePacket, received: invoke 40 bytes
DEBUG: Property: NULL
DEBUG: HandleInvoke, server invoking <_onbwdone>
1600.061 kB / 14.76 sec
DEBUG: HandleCtrl, received ctrl. type: 6, len: 6
DEBUG: HandleCtrl, Ping 225677132
DEBUG: sending ctrl. type: 0x0007
2637.066 kB / 23.68 sec
WARNING: ignoring too small video packet: size: 5
WARNING: ignoring too small audio packet: size: 0
WARNING: ignoring too small audio packet: size: 0
WARNING: ignoring too small audio packet: size: 0
WARNING: ignoring too small audio packet: size: 0
WARNING: ignoring too small audio packet: size: 0
WARNING: ignoring too small audio packet: size: 0
DEBUG: HandlePacket, received: invoke 161 bytes
DEBUG: Property: NULL
DEBUG: Property: <Name:                     level, STRING:      status>
DEBUG: Property: <Name:                      code, STRING:      NetStream.Play.UnpublishNotify>
DEBUG: Property: <Name:               description, STRING:      dasdasds@12345 is now unpublished.>
DEBUG: Property: <Name:                  clientid, STRING:      n7dasds>
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Play.UnpublishNotify
DEBUG: HandlePacket, received: invoke 100 bytes
DEBUG: Property: NULL
DEBUG: Property: <Name:                      code, STRING:      NetStream.Play.Stop>
DEBUG: Property: <Name:               description, STRING:      sportcast_scout_08@12985>
DEBUG: HandleInvoke, server invoking <onFCUnsubscribe>
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
DEBUG: HandlePacket, received: invoke 178 bytes
DEBUG: Property: NULL
DEBUG: Property: <Name:                     level, STRING:      status>
DEBUG: Property: <Name:                      code, STRING:      NetStream.Pause.Notify>
DEBUG: Property: <Name:               description, STRING:      Pausing sportcast_scout_08@12985.>
DEBUG: Property: <Name:                   details, STRING:      sportcast_scout_08@12985>
DEBUG: Property: <Name:                  clientid, STRING:      n7D4kWgk>
DEBUG: HandleInvoke, server invoking <onStatus>
DEBUG: HandleInvoke, onStatus: NetStream.Pause.Notify
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
DEBUG: FillBuffer, recv returned -1. GetSockError(): 11 (Resource temporarily unavailable)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
DEBUG: Setting buffer time to: 36000000ms
INFO: Connection timed out, trying to resume.


DEBUG: Invoking pause
DEBUG: Invoking pause
Starting Live Stream
For duration: 120.000 sec
^CCaught signal: 2, cleaning up, just a second...
DEBUG: FillBuffer, recv returned -1. GetSockError(): 4 (Interrupted system call)
ERROR: ReadPacket, failed to read RTMP packet header
DEBUG: WriteStream returned: -1
Download may be incomplete (downloaded about 0.00%), try resuming
DEBUG: Closing connection.


I started recording with
./flvstreamer -vV --timeout 10 -r rtmp://cp12345.live.edgefcs.net/live/dasdasd@12345 --stop 120 -o /space/test.flv

Above you see it recording the stream correctly. then i stopped the encoding and you see it looping every 10 seconds trying to resume. If i would specify timeout 40 it would loop every 40 seconds.

The other way around is also buggy. If i start recording while the streams is not sending data, it waits for recording. When i start encoding and sending data, flvstreamer doesnt recognize that and is not recording. This makes recording of live events very difficult because it expects data to be on the line when starting flvstreamer. In earlier Versions this worked fine. So i could just start flvstreamer whith "at" some time i want and let it record when the encoder starts.



Thomas <tommics>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by fsck (Posted a comment)
  • -email is unavailable- added by tommics (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2009-11-22 fsck StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-54b4.
    Corresponding source code