・radire_rec.py の short option
HLSだと30秒前後delayがあるものの、デフォルトだとdelayを無視して指定した時刻に録音を開始していたけれど、語学講座みたいに定型の番組だと多少頭とお尻が切れても構わないので、録音開始を1分遅らせて、お尻は指定した時刻に終わるようなオプション(-s)を追加してみた。
--- /usr/local/bin/radiru_rec.py.old 2017-12-28 12:20:08.442185669 +0900 +++ ./radiru_rec.py 2018-01-03 11:43:44.759254224 +0900 @@ -46,6 +46,7 @@ parser.add_argument('-t', '--title', help='set program title. If not indicated, channel name(fm, r1, r2) is used as program title') parser.add_argument('-n', '--number', help='add sequential numbers to program title, such as myprogram_1, myprogram_2,, . ') parser.add_argument('-r', '--repeat', help='repeat R times by daily or weekly') + parser.add_argument('-s', '--short', action='store_true', help='short mode. Recording begins 1m later from specified time and ends at exactly specified time.') parser.add_argument('rec_data', nargs='*', help='(such as) "fm 8/23 12:00 14:00" Style is "channel(fm|r1|r2) [begin_date] begin_time [end_date] end_time|recording_time". Begin_date should be month/date format(8/31). If you ignore begin_date, it interpreted as today. You can use recording_time(such as 1h30m) instead of end_time') args = parser.parse_args() return args @@ -287,8 +288,14 @@ print("{0},{1}, {2},{3}".format(title, channel, begin, duration)) rec_title = begin.strftime("%F-%H-%M") + "_" + title - scriptname = make_script(channel, duration, rec_title) - result = register_script(scriptname, begin) + + if params.short != True: + scriptname = make_script(channel, duration, rec_title) + result = register_script(scriptname, begin) + else: + scriptname = make_script(channel, duration - 1, rec_title) + begin = begin + timedelta(minutes=1) + result = register_script(scriptname, begin) if result != 0 : print("エラー! 録音用スクリプトが登録できませんでした.")
今月分の語学番組の登録用にあわてて作って、まだきちんと動作チェックはできてないのだけど、ページの下に添付しておくので、興味ある人はお試しください。