ubuntu11.04 でリアルタイムに視聴してみる
録画機能ができたので、リアルタイム視聴機能を作ってみた 参考先
1 recpt1を利用して、VLCでリアルタイム視聴してみる
leafpadを立ち上げて、下記のようなファイルを作成して、playlist.lua という名前で保存
— -*- coding: utf-8 -*-
channel_name_to_number = {}
channel_name_to_number[“東北放送”] = 19
channel_name_to_number[“NHK教育”] = 13
channel_name_to_number[“NHK総合”] = 17
channel_name_to_number[“ミヤギテレビ”] = 24
channel_name_to_number[” 東日本放送”] = 28
channel_name_to_number[” 仙台放送”] = 21
channel_name_to_number[“NHK BS1”] = 101
channel_name_to_number[“NHK BSh”] = 103
channel_name_to_number[“BS日テレ”] = 141
channel_name_to_number[“BS朝日”] = 151
channel_name_to_number[“BS-TBS”] = 161
channel_name_to_number[“BSジャパン”] = 171
channel_name_to_number[“BSフジ”] = 181
channel_name_to_number[“BS11”] = 211
channel_name_to_number[“TwellV”] = 222
function execute_with_stdout(cmd)
local p = io.popen(cmd)
local s = p:read(“*a”)
p:close()
return s
end
dlg = nil
dropdown = nil
is_plyaing = false
function descriptor()
return { title = “地デジ視聴”;
capabilities = {} }
end
function activate()
dlg = nil
dropdown = nil
is_plyaing = false
create_dialog()
end
function deactivate()
stop_pt1()
vlc.playlist.clear()
vlc.deactivate()
end
function close()
vlc.deactivate()
end
function create_dialog()
dlg = vlc.dialog(“地デジ視聴”)
local label = dlg:add_label(“チャンネル : “, 1, 1, 1, 1)
dropdown = dlg:add_dropdown(2, 1, 1, 1)
for name, number in pairs(channel_name_to_number) do
dropdown:add_value(name, number)
end
dlg:add_button(“選択”, click_select_button, 3, 1, 1, 1)
end
function click_select_button()
stop_pt1()
local channel = dropdown:get_value()
start_pt1(channel)
if not is_playing then
play_pt1()
is_playing = true
end
end
function start_pt1(channel)
local pt1_cmd = string.format(“recpt1 –b25 –strip –udp –addr 127.0.0.1 –port 1234 %d – /dev/null &”, channel)
os.execute(pt1_cmd)
end
function stop_pt1()
local pt1_pid = tonumber(execute_with_stdout(“pidof -s recpt1”))
if pt1_pid ~= nil then
os.execute(string.format(“kill -KILL %d”, pt1_pid))
end
end
function play_pt1()
local path = “udp://@127.0.0.1:1234”
local name = “recpt1”
local mytable = { path = path; name = name }
vlc.playlist.add({mytable})
end
2 保存先を作成して保存
/.local/share/vlc/lua/extensions/の中に保存 lua以下は存在しなかったので、フォルダを
作成して保存
3 VLCで視聴してみる
VLC起動後、メニューの表示から地デジ視聴を選択すると、立ち上がるので、チャンネルを
選択後、選択ボタンを押すと、リアルタイム視聴が始まりました。