大家好,通过 ssh 远程连接 centos 服务器,服务器上有 WAV 音频,如何通过 play 命令 播放音频,使得本地也能听见声音,即 声音通过 ssh 传递到本地? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zhengken
V2EX    Linux

大家好,通过 ssh 远程连接 centos 服务器,服务器上有 WAV 音频,如何通过 play 命令 播放音频,使得本地也能听见声音,即 声音通过 ssh 传递到本地?

  •  
  •   zhengken 2019-09-25 12:58:48 +08:00 10033 次点击
    这是一个创建于 2212 天前的主题,其中的信息可能已经有所发展或是发生改变。
    39 条回复    2019-09-26 19:30:41 +08:00
    5long
        1
    5long  
       2019-09-25 13:14:04 +08:00   1
    用 sshfs 把音频文件所在的目录挂载到本地, 然后再用本地的音频播放器去播放.
    zhengken
        2
    zhengken  
    OP
       2019-09-25 13:17:39 +08:00
    @5long 公司对音频数据是非常敏感的,挂载到本地估计不太行
    befovy
        3
    befovy  
       2019-09-25 13:23:06 +08:00
    既然都能 ssh 访问了,scp,sftp 这些也都开着吧? 找一个支持 sftp 协议的播放器在本地播放应该可以吧
    bitdust
        4
    bitdust  
       2019-09-25 13:24:58 +08:00
    python -m http.server 一下
    bitdust
        5
    bitdust  
       2019-09-25 13:25:45 +08:00
    python -m http.server 一下
    然后用浏览器打开网址,直接播放音频文件
    trn4
        6
    trn4  
       2019-09-25 13:30:51 +08:00 via iPhone
    只要能访问这个音频就能下载,不管是挂载还是 scp 还是 http server,都是下载
    dji38838c
        7
    dji38838c  
       201-09-25 13:31:35 +08:00
    哈哈哈
    bitdust
        8
    bitdust  
       2019-09-25 13:35:06 +08:00
    @xiadong1994 是的,要么楼主提的是伪需求,要么他们公司的规定是伪需求。
    ssh 权限都给了,还不让下数据,防止数据泄漏,我觉得只有专人专机操作,隔离访问才能实现这个要求。
    est
        9
    est  
       2019-09-25 13:38:07 +08:00   3
    ssh [email protected] 'cat asdf.wav' > /dev/audio

    以上为示例代码。
    zhengken
        10
    zhengken  
    OP
       2019-09-25 13:52:31 +08:00
    @bitdust 不睡伪需求,sz scp 等这些命令是有监控的
    indev
        11
    indev  
       2019-09-25 13:54:40 +08:00
    可以试一下 mplayer,可以在 terminal 里播放音频,但不知道能不能通过 ssh
    zhengken
        12
    zhengken  
    OP
       2019-09-25 14:12:42 +08:00
    感谢大家的回复,谢谢,我会认真研究大家提出的解决方案
    Tianao
        13
    Tianao  
       2019-09-25 14:15:06 +08:00
    vi 打开手动从终端里复制?
    rwecho
        14
    rwecho  
       2019-09-25 14:41:59 +08:00 via Android
    soundwire 可行吗
    HuHui
        15
    HuHui  
       2019-09-25 14:44:13 +08:00 via Android
    脑回路清奇
    silencefent
        16
    silencefent  
       2019-09-25 14:44:24 +08:00
    打开服务器的蓝牙组件
    这边连接蓝牙
    播放 play
    ok
    muxueqz
        17
    muxueqz  
       2019-09-25 14:49:14 +08:00   1
    * 在本地开 pulseaudio,然后远程的机器作为 pulseaudio 客户端播放
    KylinJiang
        18
    KylinJiang  
       2019-09-25 15:05:33 +08:00
    建议和公司沟通一下,想要在本地播放,就意味着音频数据一定会传到本地的,就算所谓的远程播放,你在本地内录一下也是获得了文件数据,和 scp 没差的
    catcalse
        19
    catcalse  
       2019-09-25 15:10:36 +08:00
    yum install lrzsz
    sz .
    xnode
        20
    xnode  
       2019-09-25 15:15:27 +08:00
    这个需求有点扯淡,既然都能 ssh 了,还不能像下载,估计真正的需求是智能远程听 不能拷贝走
    jiezhi
        21
    jiezhi  
       2019-09-25 15:19:29 +08:00
    楼主是不是想偷听机密信息又怕被发现?

    要是公司提的听音频的需求,楼上很多技术方法都能实现
    araraloren
        22
    araraloren  
       2019-09-25 15:26:26 +08:00
    要能听到声音,你要么把文件传过来播放,要么把播放的声音传过来。。
    pkookp8
        23
    pkookp8  
       2019-09-25 16:00:42 +08:00 via Android
    声音是就是 buffer,送给声卡就变成了有效的声音,给文本文档打开就是乱码,送给显存刷新就是花屏
    你要远程听,那么就把原文件拿来,要么把解码后数据拿来。你看着哪个能做
    annielong
        24
    annielong  
       2019-09-25 16:08:11 +08:00
    不排除奇葩需求,可以服务器播放,另放一台单独的服务器开着麦克风录音,然后再传录音出来,
    jimrok
        25
    jimrok  
       2019-09-25 16:57:39 +08:00   5
    声音是无法传播到本地的,声音是扬声器上的电磁铁震动。你可以考虑将音频文件解码成模拟信号,模拟信号在编码成数字信号,然后变成文件流走 ssh 下载下来,再写一个程序把这个编码转换成标准的音频编码,扔进媒体播放程序,就可以听到了。所以,你直接把文件 scp 下来,就不用脱裤子放屁了。
    zhengken
        26
    zhengken  
    OP
       2019-09-25 17:56:18 +08:00
    @jiezhi 可以每次 使用 sz 命令下载到本地听,这样的话就像太麻烦了
    salmon5
        27
    salmon5  
       2019-09-25 20:47:19 +08:00
    远程搞一台 windows,sshfs 把音频挂载到 windows,用远程桌面播放远程到本地
    LFUNWF
        28
    LFUNWF  
       2019-09-25 21:41:04 +08:00 via Android   1
    xrdp 远程登录可以实现。百度搜索“xrdp 声音”,简书有一篇我写的小作文,有详细描述。
    happy7902
        29
    happy7902  
       2019-09-26 01:20:11 +08:00 via iPhone
    要能听到声音,你要么把文件传过来播放,要么把播放的声音传过来。。

    高手,这是高手!
    futouyiba
        30
    futouyiba  
       2019-09-26 01:59:29 +08:00
    @LFUNWF 干货呀
    msg7086
        31
    msg7086  
       2019-09-26 02:01:12 +08:00
    wav 本身就已经是数字化的声波信号了。把 wav 在服务器上播放,然后转成数字信号,其实就是转回了 wav 文件而已。
    同样,要把服务器的声音传到本地,其实就是把 wav 的内容传过来而已。

    所以最后就变成,只要你能听到声音,就是把 wav 里的数据传过来了。
    realpg
        32
    realpg  
    PRO
       2019-09-26 08:13:04 +08:00
    @zhengken #10
    scp 程序复制一份叫 httpd
    Vegetable
        33
    Vegetable  
       2019-09-26 09:55:11 +08:00
    使用 baidupcsgo 上传到百度云 /狗头
    Vegetable
        34
    Vegetable  
       2019-09-26 10:06:22 +08:00
    百分之百可行的方案,把本地终端回滚大小设置为足够大,然后 cat audio.wav|base64,将输出复制到本地 decode,得到 wav 文件
    hell0v2
        35
    hell0v2  
       2019-09-26 10:18:33 +08:00
    换个思路,scp 监控,用个不监控的命令把他搞下来不就行了么,不行实现个 scp 命令?
    hell0v2
        36
    hell0v2  
       2019-09-26 10:19:47 +08:00
    @Vegetable 这思路 666 简单可行
    VZXXBACQ
        37
    VZXXBACQ  
       2019-09-26 13:41:24 +08:00
    能听到肯定就是一种“下载”了,无论是走 http 还是什么。老老实实申请权限吧。
    Ehco1996
        38
    Ehco1996  
       2019-09-26 15:48:09 +08:00
    @Tianao 思路清奇 666
    winglight2016
        39
    winglight2016  
       2019-09-26 19:30:41 +08:00
    如果音频文件比较小的话( 1k 以内),我这里有一个解决方案:
    1.把音频文件编码成文本
    2.把文本编码成二维码
    3.把二维码打印到 ssh 窗口
    4.编写手机端解码 APP,然后扫码播放
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4241 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 04:08 PVG 12:08 LAX 21:08 JFK 00:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86