如何使用 Wireshark 实时(即连续地,而不是从捕获文件中)提取字符串,例如:
StreamTitle='The Rolling Stones - Black Box [Disc 3] (1970) - Bitch';
来自网络音频流(例如http://50.7.76.250:8757/stream),并将此字符串附加到文件中?
我想做的是从这个网络音频流中制作一个实时播放列表,以便在网站上发布。
我第一次尝试做我想做的事是在 CentOS 6 上编译 VLC 媒体播放器的源代码,这样我就可以根据他们的New Title=
调试语句简单地将相应的字符串(例如,'Van Morrison - Born To Sing: No Plan B (2012) - Retreat and View'
)写入文件。不幸的是,我无法编译源代码。
在 CentOS 下无法编译 VLC 媒体播放器后,我转而使用 Wireshark 来检查 TCP 流。使用 Find,我可以StreamTitle=
从捕获的数据包中定位信息,但我不知道如何实时、连续地(例如,24x7)提取并保存它。
ETA:如果我必须编写代码来执行此操作,我知道 Perl 和 C。
更新:我最终学习了足够的 Lua 来编写 VLC 脚本并得到我需要的东西:
function get_meta_now_playing()
local inpt = vlc.object.input()
if inpt == nil then
return nil
end
local item = vlc.item or vlc.input.item()
if not item then
return nil
else
local metas = item:metas();
local nwp = metas["now_playing"]
if nwp then
return nwp
else
return nil
end
end
end