Tag: vlc

如何在NodeJS中访问subprocess的套接字?

我目前遇到一个很奇怪的问题。 我正尝试使用NodeJSsubprocess启动VLC,然后使用套接字访问它的远程控制(RC)接口。 连接到此sockets时发生此问题。 我得到一个错误,连接被拒绝。 端口是开放的,应用程序是从防火墙允许的。 棘手的部分是,当我用这个接口手动打开VLC,只尝试在套接字上连接,它的工作原理。 我假设在产生的过程中的东西使事情不同,导致错误莫名其妙。 这是我试图运行的代码: var spawn = require('child_process').spawn; var file_dir = "V:\\TEST\\"; var files = ["Ika.mkv", "Nami.mkv", "Azu.mkv"]; var player = spawn("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe", ['–intf="rc"', '–rc-host="localhost:3000"', '–fullscreen', file_dir + files[0]]); var net = require('net'); var client = net.createConnection(3000, "localhost"); client.on('connect', function() { console.log('connected to VLC on port 3000'); client.write("add " + […]

无法在node.js中转换iTunes XML播放列表

前段时间我写了一个快速的小节点命令行实用工具,将XML格式的iTunes播放列表转换为M3U,XSPF等,这样我就可以在工作的Android系统上使用它们。 *我有一个25吉字节的音乐collections,doubletwist等人只是龙骨,并试图与我的Mac同步 起初这没什么问题,但是随着音乐collections的增长,我遇到了一个问题:任何媒体播放器都无法find任何带有非英文Unicode字符的文件,例如ñ,í和几乎所有的日文汉字。 它并不是每一个造成这个问题的angular色,但大部分是它的一个东西。 由于itunes文件path是部分url编码的(并且不需要匹配目标格式的约束),并且需要部分replace为目标机器上的正确path,所以我有以下代码来处理文件path(剥离不相关的东西): let location; // need try/catch because some track names contain unescaped '%' that // cause the decode function to throw. try { location = decodeURIComponent(x.location.slice(7)); } catch (e) { // function references a hash of about 200 url encodings and // replaces occurences of them in the path, poor man's […]

nodejs exec保持shell活着?

我试图运行一个打开VLC播放器并将RTMPvideostream入其中的命令。 但是当我运行它,VLC播放器出现,然后closures。 我想这是因为它所依赖的shell正在被杀死。 我怎么能保持壳活着? 从Windows中的cmd行运行相同的命令工作正常。 closuresshellclosuresVLC播放器。 我的代码看起来像这样 var exec = require('child_process').exec exec('"Z:/downloads/rtmpdump-2.4-git-010913-windows/rtmpdump.exe" -r "rtmp://199.9.251.83/app/jtv__cQlY3imWtyDf4Cr" -j "ae9d2c8bbe586ac9f88a4fae9ec5841c3976092c:{\"swfDomains\": [\"justin.tv\", \"jtvx.com\", \"xarth.com\", \"twitchtv.com\", \"twitch.tv\", \"newjtv.com\", \"jtvnw.net\", \"wdtinc.com\", \"imapweather.com\", \"facebook.com\", \"starcrafting.com\"], \"streamName\": \"jtv__cQlY3imWtyDf4Cr\", \"expiration\": 1370153205.846189, \"geo_ip\": \"91.10.111.130\", \"server\": \"video3-1\"}" –swfVfy "http://www-cdn.jtvnw.net/widgets/live_embed_player.r4b02d38f442d7cae5646f1a1c17078362f5fd857.swf?channel=games&referer=&channel=games" -v -o – | "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" – –play-and-exit')

NodeJS / ExpressJS:代理HTTPvideostream(来自VLC)

使用VLC 2.2.1,我创build了一台由名为server的计算机托pipe的摄像头的HTTPstream。 在另一台电脑上, 客户端 ,如果我打开vlc,并打开networkingstreamhttp://server:8080我可以很好地看到networking摄像头的video。 HTTPstream的wireshark捕获如下所示: GET / HTTP/1.1 Host: server:8080 User-Agent: VLC/2.2.0-rc2 LibVLC/2.2.0-rc2 Range: bytes=0- Connection: close Icy-MetaData: 1 HTTP/1.0 200 OK Content-type: application/octet-stream Cache-Control: no-cache FLV………………….. onMetaData…….duration………..width.@………height.@~……. videodatarate.@.@…….videocodecid.@………encoder.. Lavf56.1.0..filesize…. etc… 在客户端计算机上,我有一个在NodeJS v5&Express v3下运行的API,我想要有一个url: http:// client / video作为http:// server:8080的代理,这样用户只能看到一个端点。 我看到几个npm模块声称是“代理”,但由于内容的特殊性(实时videostream),我不确定我应该做什么。