Video transcoding doesn't seem to work with the PS3

Issue #9 new
Luke Tsekouras created an issue

I've been messing around with this for a while now, but I can't get my PS3 to successfully play a transcoded video file that would otherwise have been unplayable. Strangely, if I transcode a video that the PS3 can play natively, it works absolutely fine. If I manually save the result of a transcode to file and then serve that over DLNA, it works fine, so I don't believe the transcoding process is to blame.

The PS3 claims that particular formats of video are "Not supported". However it appears to make up its mind on this before the video is ever played. This leads me to believe that even though the PS3 would be able to play the video if it tried, it doesn't try because it believes the codec is incorrect.

I'm not sure on the implementation details here, but I gather some metadata about each video is sent to the DLNA client, and it might be necessary to forge that data in order to convince the PS3 to play it. If this is the case, it might be nice to have some configurable way of forging this data on a per-device basis.

Comments (5)

  1. Luke Tsekouras reporter

    Actually, a better solution might be to have a configuration option which allows you to specify the correct metadata for a video which has been transcoded. Again, not sure on the implementation details, so it's just a suggestion for discussion.

  2. Lukas Jirkovsky repo owner

    This doesn't affect only PS3, but some other clients, too (IIRC it was Sony Bravia and LG TV's). The plan is to add configuration options where it would be possible to override the metadata that are sent to device during directory listing.

  3. Patric Mueller

    I can confirm that the problem is the wrong MIME type being sent by the program.

    I tried live transcoding some ogg files and initially, the PS3 showed them as "not supported". After I changed on line 646 in upnpsoap.c the mime variable to "audio/mpeg", the PS3 would happily stream the transcoded ogg files.

    Another problem surfaced, though. The transcoded files were larger than the original ogg files and the PS3 only played them up to the size of the original ogg files. Changing the size attribute on line 612 to say size=-1 was a quick workaround, although the PS3 didn't show the real length of the song while playing.

    I guess DLNA should support some way of informing that the size is not yet known. Maybe using the HTTP header Content-Range would already be enough, but I didn't test that yet.

  4. Lukas Jirkovsky repo owner

    I actually started a branch custom-list-profile that was supposed to implement new configuration options that would allow forcing a specific MIME type and DNA profile for the file list, but I never really got to actually implementing it (mostly combination of lack of time and/or interest). But it still haunts me, as it's something I would really want to implement.

  5. Log in to comment