136 | | sub calldigitalrecorderOld{ |
---|
137 | | # |
---|
138 | | # |
---|
139 | | #いまんところ白friioと黒friioのみ |
---|
140 | | # |
---|
141 | | # |
---|
142 | | my $oserr = 0; |
---|
143 | | |
---|
144 | | if ($bandtype == 0){ |
---|
145 | | # 地デジ friio |
---|
146 | | # b25,recfriioがあるか確認 |
---|
147 | | if ((-e "$toolpath/perl/tool/b25") && (-e "$toolpath/perl/tool/recfriio")){ |
---|
148 | | my $friiofifo = "$outputpath"."fifo-friio-"."$outputfilewithoutpath"; |
---|
149 | | my $b25fifo = "$outputpath"."fifo-b25-"."$outputfilewithoutpath"; |
---|
150 | | |
---|
151 | | if ((-e "$friiofifo") || (-e "$b25fifo")){ |
---|
152 | | &writelog("digitaltvrecording :ABORT :fifo is exist. It may be overwrite recording."); |
---|
153 | | exit 1; |
---|
154 | | }else{ |
---|
155 | | system ("mkfifo $friiofifo $b25fifo"); |
---|
156 | | # mkfifo fifo-friio-9999-01-20080810.m2t fifo-b25-9999-01-20080810.m2t |
---|
157 | | &writelog("digitaltvrecording DEBUG mkfifo $friiofifo $b25fifo: $?."); |
---|
158 | | # /home/foltia/perl/recfriio 27 30 ./fifo-friio-9999-01-20080810.m2t & /home/foltia/perl/b25 ./fifo-friio-9999-01-20080810.m2t ./fifo-b25-9999-01-20080810.m2t & dd if=./fifo-b25-9999-01-20080810.m2t of=/home/foltia/php/tv/9999-01-20080810.m2t bs=1M skip=10 |
---|
159 | | # system("$toolpath/perl/tool/recfriio $recch $reclengthsec $friiofifo & "); |
---|
160 | | # system("$toolpath/perl/tool/b25 $friiofifo $b25fifo &"); |
---|
161 | | # system("dd if=$b25fifo of=$outputfile bs=1M skip=10"); |
---|
162 | | &writelog("digitaltvrecording DEBUG $toolpath/perl/tool/recfriio $recch $reclengthsec $friiofifo & dd if=$friiofifo of=$b25fifo bs=1M skip=10 & $toolpath/perl/tool/b25 $b25fifo $outputfile: $?."); |
---|
163 | | system("dd if=$friiofifo of=$b25fifo bs=1M skip=10 & $toolpath/perl/tool/b25 $b25fifo $outputfile &"); |
---|
164 | | $oserr = system("$toolpath/perl/tool/recfriio $recch $reclengthsec $friiofifo "); |
---|
165 | | $oserr = $oserr >> 8; |
---|
166 | | system ("rm -rf $friiofifo $b25fifo"); |
---|
167 | | &writelog("digitaltvrecording DEBUG rm -rf $friiofifo $b25fifo: $?."); |
---|
168 | | if ($oserr > 0){ |
---|
169 | | # print "RECFRIIO RETURNS:$oserr\n"; |
---|
170 | | &writelog("digitaltvrecording :ERROR :friio is BUSY."); |
---|
171 | | # kill dd |
---|
172 | | $ddpid = `ps a | grep $friiofifo | grep -v grep`; |
---|
173 | | @ddpid = split(/ /,$ddpid); |
---|
174 | | $ddpid = $ddpid[0]; |
---|
175 | | chomp($ddpid); |
---|
176 | | $killcmd = "kill ".$ddpid; |
---|
177 | | system($killcmd); |
---|
178 | | &writelog("digitaltvrecording :DEBUG dd killed:$killcmd"); |
---|
179 | | |
---|
180 | | #kill b25 |
---|
181 | | $b25pid = `ps a | grep $b25fifo | grep -v grep`; |
---|
182 | | @b25pid = split(/ /,$b25pid); |
---|
183 | | $b25pid = $b25pid[0]; |
---|
184 | | chomp($b25pid); |
---|
185 | | $killcmd = "kill ".$b25pid; |
---|
186 | | system($killcmd); |
---|
187 | | &writelog("digitaltvrecording :DEBUG b25 killed:$killcmd"); |
---|
188 | | |
---|
189 | | system ("rm -rf $outputfile"); |
---|
190 | | |
---|
191 | | exit 2; |
---|
192 | | } |
---|
193 | | } |
---|
194 | | }else{ # エラー b25とrecfriioがありません |
---|
195 | | &writelog("digitaltvrecording :ERROR :recfriio or b25 not found. You must install $toolpath/perl/tool/b25 and $toolpath/perl/tool/recfriio."); |
---|
196 | | exit 1; |
---|
197 | | } |
---|
198 | | |
---|
199 | | }elsif($bandtype == 1){ |
---|
200 | | |
---|
201 | | # BS/CS friio |
---|
202 | | # b25,recfriioがあるか確認 |
---|
203 | | if ((-e "$toolpath/perl/tool/b25") && (-e "$toolpath/perl/tool/recfriiobs")){ |
---|
204 | | my $friiofifo = "$outputpath"."fifo-friioBS-"."$outputfilewithoutpath"; |
---|
205 | | my $b25fifo = "$outputpath"."fifo-b25-"."$outputfilewithoutpath"; |
---|
206 | | |
---|
207 | | if ((-e "$friiofifo") || (-e "$b25fifo")){ |
---|
208 | | &writelog("digitaltvrecording :ABORT :fifo is exist. It may be overwrite recording."); |
---|
209 | | exit 1; |
---|
210 | | }else{ |
---|
211 | | system ("mkfifo $friiofifo $b25fifo"); |
---|
212 | | &writelog("digitaltvrecording DEBUG mkfifo $friiofifo $b25fifo: $?."); |
---|
213 | | #recfriiobs用チャンネルリマップ |
---|
214 | | if ($recch == 101) { |
---|
215 | | $bssplitflag = $recch; |
---|
216 | | $recch = 22;#22 : NHK BS1/BS2 |
---|
217 | | }elsif($recch == 102){ |
---|
218 | | $bssplitflag = $recch; |
---|
219 | | $recch = 22;#22 : NHK BS1/BS2 |
---|
220 | | }elsif($recch == 103){ |
---|
221 | | $recch = 23;#23 : NHK hi |
---|
222 | | }elsif($recch == 141){ |
---|
223 | | $recch = 20;# 20 : BS-NTV |
---|
224 | | }elsif($recch == 151){ |
---|
225 | | $recch = 13;#13 : BS-Asahi |
---|
226 | | }elsif($recch == 161){ |
---|
227 | | $recch = 14;#14 : BS-i |
---|
228 | | }elsif($recch == 171){ |
---|
229 | | $recch = 16;#16 : BS-Japan |
---|
230 | | }elsif($recch == 181){ |
---|
231 | | $recch = 21;#21 : BS-Fuji |
---|
232 | | }elsif($recch == 191){ |
---|
233 | | $recch = 15;#15 : WOWOW |
---|
234 | | }elsif($recch == 192){ |
---|
235 | | $recch = 15;#15 : WOWOW |
---|
236 | | }elsif($recch == 193){ |
---|
237 | | $recch = 15;#15 : WOWOW |
---|
238 | | }elsif($recch == 211){ |
---|
239 | | $recch = 17;#17 : BS11 |
---|
240 | | }else{ |
---|
241 | | $recch = 19;#19 : TwellV |
---|
242 | | } |
---|
243 | | &writelog("digitaltvrecording DEBUG $toolpath/perl/tool/recfriiobs $recch $reclengthsec $friiofifo & dd if=$friiofifo of=$b25fifo bs=1M skip=10 & $toolpath/perl/tool/b25 $b25fifo $outputfile : $?."); |
---|
244 | | system("dd if=$friiofifo of=$b25fifo bs=1M skip=10 & $toolpath/perl/tool/b25 $b25fifo $outputfile &"); |
---|
245 | | $oserr = system("$toolpath/perl/tool/recfriiobs $recch $reclengthsec $friiofifo "); |
---|
246 | | $oserr = $oserr >> 8; |
---|
247 | | |
---|
248 | | system ("rm -rf $friiofifo $b25fifo"); |
---|
249 | | &writelog("digitaltvrecording DEBUG rm -rf $friiofifo $b25fifo: $?."); |
---|
250 | | if ($oserr > 0){ |
---|
251 | | # print "RECFRIIO RETURNS:$oserr\n"; |
---|
252 | | &writelog("digitaltvrecording :ERROR :friioBS is BUSY."); |
---|
253 | | # kill dd |
---|
254 | | $ddpid = `ps a | grep $friiofifo | grep -v grep`; |
---|
255 | | @ddpid = split(/ /,$ddpid); |
---|
256 | | $ddpid = $ddpid[0]; |
---|
257 | | chomp($ddpid); |
---|
258 | | $killcmd = "kill ".$ddpid; |
---|
259 | | system($killcmd); |
---|
260 | | &writelog("digitaltvrecording :DEBUG dd killed:$killcmd"); |
---|
261 | | |
---|
262 | | #kill b25 |
---|
263 | | $b25pid = `ps a | grep $b25fifo | grep -v grep`; |
---|
264 | | @b25pid = split(/ /,$b25pid); |
---|
265 | | $b25pid = $b25pid[0]; |
---|
266 | | chomp($b25pid); |
---|
267 | | $killcmd = "kill ".$b25pid; |
---|
268 | | system($killcmd); |
---|
269 | | &writelog("digitaltvrecording :DEBUG b25 killed:$killcmd"); |
---|
270 | | |
---|
271 | | system ("rm -rf $outputfile"); |
---|
272 | | |
---|
273 | | exit 2; |
---|
274 | | } |
---|
275 | | |
---|
276 | | #BS1/BS2などのスプリットを |
---|
277 | | if ($bssplitflag == 101){ |
---|
278 | | if (-e "$toolpath/perl/tool/TsSplitter.exe"){ |
---|
279 | | # BS1 |
---|
280 | | system("wine $toolpath/perl/tool/TsSplitter.exe -EIT -ECM -EMM -OUT \"$outputpath\" -HD -SD2 -SD3 -1SEG -LOGFILE -WAIT2 $outputfile"); |
---|
281 | | $splitfile = $outputfile; |
---|
282 | | $splitfile =~ s/\.m2t$/_SD1.m2t/; |
---|
283 | | if (-e "$splitfile"){ |
---|
284 | | system("rm -rf $outputfile ; mv $splitfile $outputfile"); |
---|
285 | | &writelog("digitaltvrecording DEBUG rm -rf $outputfile ; mv $splitfile $outputfile: $?."); |
---|
286 | | }else{ |
---|
287 | | &writelog("digitaltvrecording ERROR File not found:$splitfile."); |
---|
288 | | } |
---|
289 | | }else{ |
---|
290 | | &writelog("digitaltvrecording ERROR $toolpath/perl/tool/TsSplitter.exe not found."); |
---|
291 | | } |
---|
292 | | }elsif($bssplitflag == 102){ |
---|
293 | | if (-e "$toolpath/perl/tool/TsSplitter.exe"){ |
---|
294 | | # BS2 |
---|
295 | | system("wine $toolpath/perl/tool/TsSplitter.exe -EIT -ECM -EMM -OUT \"$outputpath\" -HD -SD1 -SD3 -1SEG -LOGFILE -WAIT2 $outputfile"); |
---|
296 | | $splitfile = $outputfile; |
---|
297 | | $splitfile =~ s/\.m2t$/_SD2.m2t/; |
---|
298 | | if (-e "$splitfile"){ |
---|
299 | | system("rm -rf $outputfile ; mv $splitfile $outputfile"); |
---|
300 | | &writelog("digitaltvrecording DEBUG rm -rf $outputfile ; mv $splitfile $outputfile: $?."); |
---|
301 | | }else{ |
---|
302 | | &writelog("digitaltvrecording ERROR File not found:$splitfile."); |
---|
303 | | } |
---|
304 | | }else{ |
---|
305 | | &writelog("digitaltvrecording ERROR $toolpath/perl/tool/TsSplitter.exe not found."); |
---|
306 | | } |
---|
307 | | }else{ |
---|
308 | | &writelog("digitaltvrecording DEBUG not split TS.$bssplitflag"); |
---|
309 | | }# endif #BS1/BS2などのスプリットを |
---|
310 | | |
---|
311 | | } |
---|
312 | | }else{ # エラー b25とrecfriioがありません |
---|
313 | | &writelog("digitaltvrecording :ERROR :recfriiobs or b25 not found. You must install $toolpath/perl/tool/b25 and $toolpath/perl/tool/recfriiobs."); |
---|
314 | | exit 1; |
---|
315 | | } |
---|
316 | | }elsif($bandtype == 2){ |
---|
317 | | }else{ |
---|
318 | | &writelog("digitaltvrecording :ERROR :Unsupported and type (digital CS)."); |
---|
319 | | exit 3; |
---|
320 | | } |
---|
321 | | |
---|
322 | | |
---|
323 | | |
---|
324 | | }#end calldigitalrecorderOld |
---|
| 136 | |
---|
373 | | if ($recch == 333) { |
---|
374 | | $recch = "CS16";#333ch:アニメシアターX(AT-X) |
---|
375 | | #}elsif($recch == 330){ |
---|
376 | | # $recch = "CS22";#330ch:キッズステーション #HD化により2010/4変更 |
---|
377 | | }elsif($recch == 335){ |
---|
378 | | $recch = "CS8";#335ch:キッズステーション HD |
---|
379 | | }elsif($recch == 332){ |
---|
380 | | $recch = "CS20";#332ch:アニマックス |
---|
381 | | }else{ |
---|
382 | | $recch = "CS16";#333ch:アニメシアターX(AT-X) |
---|
383 | | } |
---|
384 | | |
---|
| 189 | if($recch == 335){ |
---|
| 190 | $pt1recch = "CS8";#335ch:キッズステーション HD |
---|
| 191 | }elsif($recch == 237){ |
---|
| 192 | $pt1recch = "CS2";#237ch:スター・チャンネル プラス |
---|
| 193 | }elsif($recch == 239){ |
---|
| 194 | $pt1recch = "CS2";#239ch:日本映画専門チャンネルHD |
---|
| 195 | }elsif($recch == 306){ |
---|
| 196 | $pt1recch = "CS2";#306ch:フジテレビCSHD |
---|
| 197 | }elsif($recch == 100){ |
---|
| 198 | $pt1recch = "CS4";#100ch:e2プロモ |
---|
| 199 | }elsif($recch == 256){ |
---|
| 200 | $pt1recch = "CS4";#256ch:J sports ESPN |
---|
| 201 | }elsif($recch == 312){ |
---|
| 202 | $pt1recch = "CS4";#312ch:FOX |
---|
| 203 | }elsif($recch == 322){ |
---|
| 204 | $pt1recch = "CS4";#322ch:スペースシャワーTV |
---|
| 205 | }elsif($recch == 331){ |
---|
| 206 | $pt1recch = "CS4";#331ch:カートゥーンネットワーク |
---|
| 207 | }elsif($recch == 194){ |
---|
| 208 | $pt1recch = "CS4";#194ch:インターローカルTV |
---|
| 209 | }elsif($recch == 334){ |
---|
| 210 | $pt1recch = "CS4";#334ch:トゥーン・ディズニー |
---|
| 211 | }elsif($recch == 221){ |
---|
| 212 | $pt1recch = "CS6";#221ch:東映チャンネル |
---|
| 213 | }elsif($recch == 222){ |
---|
| 214 | $pt1recch = "CS6";#222ch:衛星劇場 |
---|
| 215 | }elsif($recch == 223){ |
---|
| 216 | $pt1recch = "CS6";#223ch:チャンネルNECO |
---|
| 217 | }elsif($recch == 224){ |
---|
| 218 | $pt1recch = "CS6";#224ch:洋画★シネフィル・イマジカ |
---|
| 219 | }elsif($recch == 292){ |
---|
| 220 | $pt1recch = "CS6";#292ch:時代劇専門チャンネル |
---|
| 221 | }elsif($recch == 238){ |
---|
| 222 | $pt1recch = "CS6";#238ch:スター・チャンネル クラシック |
---|
| 223 | }elsif($recch == 310){ |
---|
| 224 | $pt1recch = "CS6";#310ch:スーパー!ドラマTV |
---|
| 225 | }elsif($recch == 311){ |
---|
| 226 | $pt1recch = "CS6";#311ch:AXN |
---|
| 227 | }elsif($recch == 343){ |
---|
| 228 | $pt1recch = "CS6";#343ch:ナショナルジオグラフィックチャンネル |
---|
| 229 | }elsif($recch == 055){ |
---|
| 230 | $pt1recch = "CS8";#055ch:ショップ チャンネル |
---|
| 231 | }elsif($recch == 228){ |
---|
| 232 | $pt1recch = "CS10";#228ch:ザ・シネマ |
---|
| 233 | }elsif($recch == 800){ |
---|
| 234 | $pt1recch = "CS10";#800ch:スカチャンHD800 |
---|
| 235 | }elsif($recch == 801){ |
---|
| 236 | $pt1recch = "CS10";#801ch:スカチャン801 |
---|
| 237 | }elsif($recch == 802){ |
---|
| 238 | $pt1recch = "CS10";#802ch:スカチャン802 |
---|
| 239 | }elsif($recch == 260){ |
---|
| 240 | $pt1recch = "CS12";#260ch:ザ・ゴルフ・チャンネル |
---|
| 241 | }elsif($recch == 303){ |
---|
| 242 | $pt1recch = "CS12";#303ch:テレ朝チャンネル |
---|
| 243 | }elsif($recch == 323){ |
---|
| 244 | $pt1recch = "CS12";#323ch:MTV 324ch:大人の音楽専門TV◆ミュージック・エア |
---|
| 245 | }elsif($recch == 352){ |
---|
| 246 | $pt1recch = "CS12";#352ch:朝日ニュースター |
---|
| 247 | }elsif($recch == 353){ |
---|
| 248 | $pt1recch = "CS12";#353ch:BBCワールドニュース |
---|
| 249 | }elsif($recch == 354){ |
---|
| 250 | $pt1recch = "CS12";#354ch:CNNj |
---|
| 251 | }elsif($recch == 361){ |
---|
| 252 | $pt1recch = "CS12";#361ch:ジャスト・アイ インフォメーション |
---|
| 253 | }elsif($recch == 251){ |
---|
| 254 | $pt1recch = "CS14";#251ch:J sports 1 |
---|
| 255 | }elsif($recch == 252){ |
---|
| 256 | $pt1recch = "CS14";#252ch:J sports 2 |
---|
| 257 | }elsif($recch == 253){ |
---|
| 258 | $pt1recch = "CS14";#253ch:J sports Plus |
---|
| 259 | }elsif($recch == 254){ |
---|
| 260 | $pt1recch = "CS14";#254ch:GAORA |
---|
| 261 | }elsif($recch == 255){ |
---|
| 262 | $pt1recch = "CS14";#255ch:スカイ・Asports+ |
---|
| 263 | }elsif($recch == 305){ |
---|
| 264 | $pt1recch = "CS16";#305ch:チャンネル銀河 |
---|
| 265 | }elsif($recch == 333){ |
---|
| 266 | $pt1recch = "CS16";#333ch:アニメシアターX(AT-X) |
---|
| 267 | }elsif($recch == 342){ |
---|
| 268 | $pt1recch = "CS16";#342ch:ヒストリーチャンネル |
---|
| 269 | }elsif($recch == 290){ |
---|
| 270 | $pt1recch = "CS16";#290ch:TAKARAZUKA SKYSTAGE |
---|
| 271 | }elsif($recch == 803){ |
---|
| 272 | $pt1recch = "CS16";#803ch:スカチャン803 |
---|
| 273 | }elsif($recch == 804){ |
---|
| 274 | $pt1recch = "CS16";#804ch:スカチャン804 |
---|
| 275 | }elsif($recch == 240){ |
---|
| 276 | $pt1recch = "CS18";#240ch:ムービープラスHD |
---|
| 277 | }elsif($recch == 262){ |
---|
| 278 | $pt1recch = "CS18";#262ch:ゴルフネットワーク |
---|
| 279 | }elsif($recch == 314){ |
---|
| 280 | $pt1recch = "CS18";#314ch:LaLa HDHV |
---|
| 281 | }elsif($recch == 258){ |
---|
| 282 | $pt1recch = "CS20";#258ch:フジテレビ739 |
---|
| 283 | }elsif($recch == 302){ |
---|
| 284 | $pt1recch = "CS20";#302ch:フジテレビ721 |
---|
| 285 | }elsif($recch == 332){ |
---|
| 286 | $pt1recch = "CS20";#332ch:アニマックス |
---|
| 287 | }elsif($recch == 340){ |
---|
| 288 | $pt1recch = "CS20";#340ch:ディスカバリーチャンネル |
---|
| 289 | }elsif($recch == 341){ |
---|
| 290 | $pt1recch = "CS20";#341ch:アニマルプラネット |
---|
| 291 | }elsif($recch == 160){ |
---|
| 292 | $pt1recch = "CS22";#160ch:C-TBSウェルカムチャンネル |
---|
| 293 | }elsif($recch == 161){ |
---|
| 294 | $pt1recch = "CS22";#161ch:QVC |
---|
| 295 | }elsif($recch == 185){ |
---|
| 296 | $pt1recch = "CS22";#185ch:プライム365.TV |
---|
| 297 | }elsif($recch == 293){ |
---|
| 298 | $pt1recch = "CS22";#293ch:ファミリー劇場 |
---|
| 299 | }elsif($recch == 301){ |
---|
| 300 | $pt1recch = "CS22";#301ch:TBSチャンネル |
---|
| 301 | }elsif($recch == 304){ |
---|
| 302 | $pt1recch = "CS22";#304ch:ディズニー・チャンネル |
---|
| 303 | }elsif($recch == 325){ |
---|
| 304 | $pt1recch = "CS22";#325ch:MUSIC ON! TV |
---|
| 305 | #}elsif($recch == 330){ |
---|
| 306 | # $pt1recch = "CS22";#330ch:キッズステーション #HD化により2010/4変更 |
---|
| 307 | }elsif($recch == 351){ |
---|
| 308 | $pt1recch = "CS22";#351ch:TBSニュースバード |
---|
| 309 | }elsif($recch == 257){ |
---|
| 310 | $pt1recch = "CS24";#ch:日テレG+ |
---|
| 311 | }elsif($recch == 291){ |
---|
| 312 | $pt1recch = "CS24";#ch:fashiontv |
---|
| 313 | }elsif($recch == 300){ |
---|
| 314 | $pt1recch = "CS24";#ch:日テレプラス |
---|
| 315 | }elsif($recch == 320){ |
---|
| 316 | $pt1recch = "CS24";#ch:安らぎの音楽と風景/エコミュージックTV |
---|
| 317 | }elsif($recch == 321){ |
---|
| 318 | $pt1recch = "CS24";#ch:MusicJapan TV |
---|
| 319 | }elsif($recch == 350){ |
---|
| 320 | $pt1recch = "CS24";#ch:日テレNEWS24 |
---|
| 321 | }# end if CSリマップ |
---|