This is a discussion on Trapping video and audio output within the Linux General forums, part of the Linux Forums category; Hi, I didn't really know where to ask that question, so I'm asking it here. Feel free to ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I didn't really know where to ask that question, so I'm asking it here. Feel free to redirect me to more appropriate groups. I would like to transfer the video and audio playing on my desktop linux operating system (obviously running Xorg) to a remote screen. The problem is, I'm using a laptop which has fairly low quality video and audio output connectivity (VGA and headset output). I would therefore like to be able to trap whatever is rendered and send these signals digitally through IP (potentially using wifi) to another machine which has better audio/video connectivity (DVI-D and S/PDIF). Is it possible to read those renderings and send them through the network? I don't know that much about modern graphics cards, but is reading the video frame buffer mapped in RAM enough? What about sound? Does software that already does this exist? Thank you for your help. |
|
|||
|
Mathias Gaunard <loufoque@gmail.com>:
> I would like to transfer the video and audio playing on my desktop > linux operating system (obviously running Xorg) to a remote screen. > The problem is, I'm using a laptop which has fairly low quality video > and audio output connectivity (VGA and headset output). I would > therefore like to be able to trap whatever is rendered and send these > signals digitally through IP (potentially using wifi) to another > machine which has better audio/video connectivity (DVI-D and S/PDIF). Network latency is likely to have such a great impact on rendering performance, that the output on the target system will be worse than on the original system, despite better hardware. > Is it possible to read those renderings and send them through the > network? Within certain limitations, it is possible. The X11 protocol is network transparent and supports forwarding to remote systems, as are many modern sound servers like pulse audio. Still, these facilities are not sufficient for accelerated rendering like it happens in games or video playback. -- Freedom is always the freedom of dissenters. (Rosa Luxemburg) |
|
|||
|
Mathias Gaunard staggered into the Black Sun and said:
> I would like to transfer the video and audio playing on my desktop > linux operating system (obviously running Xorg) to a remote screen. > Is it possible to read [that data] and send [it] through the network? Video: Just X by itself, although you need high bandwidth and low latency for large video to work well at all. Audio: I have never needed or wanted to do that, since I think computers should be as quiet as possible unless they're playing music, movies, or games. However, esd (standard with GNOME) is one way of doing that. There should be some way of doing that with ArTS (KDE sound server) as well. The apps that are playing audio on a remote box *must* have esd- or ArTS-output support, otherwise they won't work. The remote box must be running esd or ArTS. > I don't know that much about modern graphics cards, but is reading the > video frame buffer mapped in RAM enough? Oh hell no. Modern video players typically use XV, so they offload the YUV data processing to the video card, which then dumps the decoded RGB data over all areas of the screen that have been painted in a colorkey. None of that ever hits the framebuffer. The cursor is also in a special non-framebuffer block of memory. OpenGL may or may not make use of non-framebuffer memory for display purposes. What is the primary app you'll be running over this x11vnc/KDE Desktop Sharing/nxserver-freeedition -like setup? If it's xine/mplayer, save yourself some pain and transfer the movies directly to the other box. You can *do* video and sound over the network, but it's a PITA and the performance is AFAIK not great. If it's some sort of game, just forget it. If it's music, why not just have the remote box mount the other box via Samba/NFS? -- "Dreams? Best leave dreams to those that can afford them." --Aunt Cordelia, _Wizard and Glass_, Stephen King My blog and resume: http://crow202.dyndns.org/wordpress/ Matt G|There is no Darkness in Eternity/But only Light too dim for us to see |
|
|||
|
On 22 juin, 22:33, Dances With Crows <danceswithcr...@usa.net> wrote:
> What is the primary app you'll be running over this x11vnc/KDE Desktop > Sharing/nxserver-freeedition -like setup? Anything (including work, presentations, games and movies). Basically it's supposed to act like a model- and brand-independent high-end dock station that provides DVI and S/PDIF output. Obviously, putting a mini-jack from the headset output to a 5.1 soundsystem is not very good. It's good to know esd supports networking out of the box, I'll try that. VGA, which is available on most laptops, is not that bad compared to the sound problem. I suppose the only way to obtain accelerated output is to reaquire the signal outputted by the graphics card? It's not possible for the OS to read the actual rendered screen? In that case it would be good (if not awesome) if X could relay OpenGL and Xv requests to the rendering screen so that it could be accerelated here. |
|
|||
|
On 23 juin, 01:03, Mathias Gaunard <loufo...@gmail.com> wrote:
> In that case it would be good (if not awesome) if X could relay OpenGL > and Xv requests to the rendering screen so that it could be > accerelated here. Shouldn't AIGLX do just that actually? |
|
|||
|
Mathias Gaunard <loufoque@gmail.com> wrote:
> On 22 juin, 22:33, Dances With Crows <danceswithcr...@usa.net> wrote: > >> What is the primary app you'll be running over this x11vnc/KDE Desktop >> Sharing/nxserver-freeedition -like setup? > > Anything (including work, presentations, games and movies). Basically > it's supposed to act like a model- and brand-independent high-end dock > station that provides DVI and S/PDIF output. What you can do is build an "X-terminal with sound" -- a cut-down Linux with Xorg server and esd (pulse, network audio) server. You can then host GDM on your other machine, and log in from the "X-terminal". I do this, with a (cheap) HP Vectra -- PII 400, with Matrox on-board graphics (supports Xv). Of course I put 256MB in the Vectra, and tend to play videos locally (not too much strain on the CPU). Big jobs are run on a server, using the Vectra as an X-Terminal. It doesn't take much CPU to play videos or do audio. > > Obviously, putting a mini-jack from the headset output to a 5.1 > soundsystem is not very good. It's good to know esd supports > networking out of the box, I'll try that. > VGA, which is available on most laptops, is not that bad compared to > the sound problem. > > I suppose the only way to obtain accelerated output is to reaquire the > signal outputted by the graphics card? It's not possible for the OS to > read the actual rendered screen? > In that case it would be good (if not awesome) if X could relay OpenGL > and Xv requests to the rendering screen so that it could be > accerelated here. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|