So I've had a week or so playing with the PS3 and MythTV. I just
posted this to the Myth user list, but I suspect some of the readers
here would be interested in how it's going.
I'm attempting to use a PS3 as the frontend to my Myth system, replacing
the silent, solid state SD frontend I used to have. My backend records
from two DVB-t cards, so I'm recording. But I've encountered a few
problems and I'm wondering if anyone else has encountered these, or has
suggestions of lines of attack.
Ideally Sony would open access to the graphics hardware through the
"Other OS" feature, and then I could just run native Myth.
Unfortunately this hasn't happened so I've been forced to use the UPnP
approach. This means there's a bunch of features missing, like
commercial flagging and the ability to delete recordings after watching,
but I can live with that. These other problems are more serious.
Solving these would make the PS3 a pretty damn decent frontend,
especially for people wanting HD. When it works, 1080i and 720p look
pretty damn spectacular. A PS3 frontend has the added benefits of
Blu Ray playback, UPnP client (for downloaded video) and a games console
to boot.
Transport stream support
The PS3 supports many permutations of MPEG Program Stream(PS), but only
MPEG2 video with MPEG2 Layer 2 audio inside a Transport Stream (TS).
Australian DVB-t seems to (sometimes?) use AC3 audio, so inside a TS the
PS3 can't play it back. I either get the video with white noise sound,
or it refuses to play back at all.
It seems my Myth setup sometimes produces TS, and sometimes produces
things that the PS3 is happy with. Output from "file" looks like this.
Interestingly, the files labelled "data" play back, but the TS doesn't.
Output from "file":
1020_20090221181900.mpg: data
1020_20090221190000.mpg: data
1020_20090222050000.mpg: MPEG transport stream data
1020_20090222190000.mpg: TeX font metric data (\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377
So the approach I've been looking at is demuxing the TS into a PS in a
transcode job. I haven't succeeded yet, so if anyone has a nice script
I'd appreciate it. Ideally MythTV would be able to do this as it
records, because otherwise I can't really watch a program that's still
recording and there'll be a bunch of hard drive thrashing that could be
avoided.
What's strange is that my tuners are almost identical. lspci output:
03:0c.0 Multimedia controller: Philips Semiconductors SAA7134/SAA7135HL Video Broadcast Decoder (rev 01)
04:0f.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d0)
So I'm assuming the problem is due to Myth being relatively relaxed
about the streams it produces, and really all it's doing is pulling out
the appropriate TS from the multiplex and dumping it to disk. This is
fine when mythfrontend (or mplayer or xine or whatever) is playing back,
but the PS3 is a bit pickier about it.
So has anyone got any suggestions here? I'd love to find a way to get
Myth to just product something I can play on the PS3, without having to
transcode. I can post up some more diagnostic information if people
want it.
Refreshing UPnP shares
It seems like the PS3 only refreshes listings from the UPnP server after
being shut down and restarted. That means any recordings that kick off
after you boot the PS3 don't show up. Anyone worked out a way to get
these listings to refresh?
Playback stops with FF/RW
When I fast forward or rewind, playback doesn't restart when I press
play. The play icon shows up on-screen, but the playback doesn't
actually start. I have to stop and restart the playback to get it
moving again. Weird, but not a show stopper I guess.
Playback while recording
Related to the UPnP share refreshing thing, if I watch a programme
that's currently being recorded, it seems the PS3 takes the end time of
the stream when first started, so it gets to the point where you started
watching (as coming off the air) and stops. Kinda annoying -- it'd be
nice if it just kept reading until the stream stops.