#21 pause for transcoded media (w/ implementation idea)


Simply put, I want access to the pause button when playing a transcoded stream.

I have gotten transcoding to work with rev1577. Using the ffmpeg sh script to play to a fifo I was successfully able to pause and restart the video through:

kill -STOP pid


kill -CONT pid

So, in theory it's possible to have a pause feature using an external transcoder.

p.s. I'm on OSX (PPC) 10.4. But, I checked out OpenBSD's man page and found the same signals are present using the same names. So, I image that there are only possibly minor naming variations across the *BSD's and Linux (Windows unknown).


  • Jin

    • status: open --> closed
  • Jin

    Logged In: YES
    Originator: NO

    The problem is - the PS3 remembers the position when you press pause (i.e. it remembers the byte offset) and closes the connection. When it resumes, it makes a range requests to get to the last position. So we do not even know that it wants to pause - we see that connection is being closed. This works for non-transcoded media, because the content length is known, so range requests are supported. For transcoded media the length of the resulting transcoded data is not known, so we do not specify the content length header in the http response. As the result the PS3 sees that range requests are not supported and thus does not offer the pause functionality.

    So - on server side there is no way to recognize between pause and stop, meaning that even if sending SIGSTOP would stop the transcoding process we simply do not know when to send it. Actually it would have been enough if the PS3 would simply stop reading from the socket while keeping the connection open, in this case pause would work without any further extensions on the server.

    We will try to offer pause/seek when we implement the so called "native transcoding" functionality (i.e. with the use of libraries like ffmpeg/gstreamer etc.), I do not see a way to do it for the external transcoding feature.

    Sorry, I'm closing this one.