Linux DIY:项目移除VGA电缆,通过wifi与电视共享屏幕

Linux DIY:项目移除VGA电缆,通过wifi与电视共享屏幕,linux,video-streaming,screenshot,screen-capture,Linux,Video Streaming,Screenshot,Screen Capture,这是我的一个编码项目。我对linux相当陌生,所以在开始之前,我需要你们的一些指导和想法。我知道已经有屏幕共享软件了,但我想做我自己的!(= 具体来说,我想通过一个通过VGA电缆连接到电视的linux设备,通过WLAN将笔记本电脑屏幕克隆到电视上: 笔记本电脑的屏幕 LinuxBox读取流 Linux box将流输出到电视(通过VGA电缆) 首先,如何在linux中记录屏幕并实时发送流 其次,我必须编写一个程序来读取发送的数据流。该程序必须监听某个端口,并收集从笔记本电脑传输的数据。有什么想法吗

这是我的一个编码项目。我对linux相当陌生,所以在开始之前,我需要你们的一些指导和想法。我知道已经有屏幕共享软件了,但我想做我自己的!(=

具体来说,我想通过一个通过VGA电缆连接到电视的linux设备,通过WLAN将笔记本电脑屏幕克隆到电视上:

  • 笔记本电脑的屏幕
  • LinuxBox读取流
  • Linux box将流输出到电视(通过VGA电缆)
  • 首先,如何在linux中记录屏幕并实时发送流

    其次,我必须编写一个程序来读取发送的数据流。该程序必须监听某个端口,并收集从笔记本电脑传输的数据。有什么想法吗

    然后我必须把数据实时输出到电视上。你有什么办法解决这个问题吗

    谢谢


    编辑:关于编程语言,我最熟悉python。

    可以通过各种风格的(如等)共享屏幕。如果是开源的,您可能希望:

  • 为了以后的兼容性,请坚持使用VNC协议
  • 以已建立的解决方案如何实现屏幕挂钩为例
  • 在Linux中,图形都由Xorg(X Server的新版本)处理,Xorg是通过嵌入式网络开发的。这解释了为什么您可以将ssh-X应用到机器中,在机器上执行图形界面,并在远程计算机上查看。我建议您阅读Xorg上的挂钩,以满足您的需要

    您需要一个客户机-服务器拓扑结构来满足您的需求。不过,您并不是在谈论任何您预测要使用的编程语言。有些语言可能比某些语言更难开始使用。此外,这种代码在每种主要编程语言下都已经非常容易理解。您至少应该尝试使用一种简化项目的网络部分

    在Linux中,您可以通过视频卡驱动程序在电视上共享屏幕。只需查看桌面环境(例如,KDE和Gnome提供视频配置面板)或视频卡配置(nVidia和ATI Linux驱动程序提供多屏幕支持)

    在我看来,你似乎在试图重新发明轮子,但不太确定如何开始。我建议你从一个已经验证过的VNC软件开始,看看它是如何发展的。如果缺少一个功能,你就有了服务器和客户端的源代码,因此你可以继续开发这些项目。一旦你当你的设置开始运行时,开始考虑用你自己的代码替换拼图的一部分,然后看看它是如何运行的


    如果没有一些功能强大的CPU/GPU和一个没有用户的802.11n无线网络,不要期望电视上有好的(例如全高清)视频质量,并准备好接受编解码器启动的延迟。

    共享屏幕可以通过各种风格的(如等)来完成。如果是开源的,您可能希望:

  • 为了以后的兼容性,请坚持使用VNC协议
  • 以已建立的解决方案如何实现屏幕挂钩为例
  • 在Linux中,图形都由Xorg(X Server的新版本)处理,Xorg是通过嵌入式网络开发的。这解释了为什么您可以将ssh-X应用到机器中,在机器上执行图形界面,并在远程计算机上查看。我建议您阅读Xorg上的挂钩,以满足您的需要

    您需要一个客户机-服务器拓扑结构来满足您的需求。不过,您并不是在谈论任何您预测要使用的编程语言。有些语言可能比某些语言更难开始使用。此外,这种代码在每种主要编程语言下都已经非常容易理解。您至少应该尝试使用一种简化项目的网络部分

    在Linux中,您可以通过视频卡驱动程序在电视上共享屏幕。只需查看桌面环境(例如,KDE和Gnome提供视频配置面板)或视频卡配置(nVidia和ATI Linux驱动程序提供多屏幕支持)

    在我看来,你似乎在试图重新发明轮子,但不太确定如何开始。我建议你从一个已经验证过的VNC软件开始,看看它是如何发展的。如果缺少一个功能,你就有了服务器和客户端的源代码,因此你可以继续开发这些项目。一旦你当你的设置开始运行时,开始考虑用你自己的代码替换拼图的一部分,然后看看它是如何运行的


    不要期望好(例如全高清)电视上的视频质量没有一些非常强大的CPU/GPU和802.11n无线网络,没有用户,并且准备接受编解码器启动的延迟。

    您应该尝试采取尽可能小的步骤。如果我正在进行这样一个项目,我的第一步将是尝试使用标准unix工具实现解决方案(例如,
    netcat
    socat
    用于网络部分,
    mplayer
    vlc
    用于播放,可能
    ffmpeg
    用于捕获)然后,如果需要,用自定义编写的组件替换每个组件。

    您应该尝试采取尽可能小的步骤。如果我正在进行这样一个项目,我的第一步将是尝试使用标准unix工具实现解决方案(例如,
    netcat
    socat
    用于网络部分,
    mplayer
    vlc
    用于播放,可能
    ffmpeg
    用于捕获)?然后,如果需要,用自定义编写的组件替换每个组件