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起動後、メニューの表示から地デジ視聴を選択すると、立ち上がるので、チャンネルを

選択後、選択ボタンを押すと、リアルタイム視聴が始まりました。

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)