【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】at LINUX
【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】 - 暇つぶし2ch540:443
10/10/11 16:48:51 UhyQqMEb
>>538
基本的にその理解であっています

再生しようとしているストリームを、TSファイルとしてDLNAで流し込んだとき、
再生できる機械ですかね?
もっと言うと、SIDでのふるい分けしていないストリームを問題なく食べられる機械ですか?
SIDでのふるい分けは出来ればやっておいた方が食べる側のクライアントにやさしいと思います。

> VNCのStream表示でも上手く表示できませんでした。
VNC?VLCでなく?
URLリンク(recpt1)動作ホストのIPアドレス:49152/web/100000.ts
をストリーム再生出来ます?(HTTPストリームでこれでイケるハズです)
ポート番号は libupnp が動的に決めるので、確定ではないので LISTEN しているポート調べてください。(ログ、netstat -an 等)

HTTPでの再生が出来るモノだったら大体コレでイケるハズです
(DLNAはこれにカワを被せた程度のモノなので)

541:login:Penguin
10/10/11 23:51:26 j55hklFc
>>443
>>498
私も、この連休で--esオプション有りのrecpt1を使ってみました。
(使ったのはDLNA版ではなく、4009737ea899版です)
こちらでも生成されるm2vがおかしなことになっていました(BS high録画にて)。
調べてみたところ、tssplitter.hで定義されている。splitpesbuf_t.bufferが偶にあふれているようでした。
対処療法として、u_char buffer[3*1024*1024];としたところ、m2vが正しくなったようです。
私は、Mpeg2システムには詳しくないので、正しい修正かは分かりません。

この修正と、a tiny patch for recpt1/tssplitter_lite.cの該当部分の修正で
使っていますが、今のところ問題はおきてません。
tssplitter_lite.cを使えば、TSファイルを読み込ませて、映像、音声を同期させて、
ESダンプするツールなんかも出来そうですね・・・。
とはいえ、--esオプション有りのrecpt1が動けば使わないか・・・。



542:535
10/10/11 23:54:07 L0k5S7Ln
>>540
すみません。 VNC ではなく、 VLC でした・・・
VLCで ネットーワークストリームを開く -> URLリンク(hoge:4915x)
とすると、サーバー側に

http_get_info, filename : /web/100000.ts
Looking for entry id 100000
Found at 0x9ce540
http_get_info, entry found.
Looking for entry id 100000
Found at 0x9ce540
Fullpath : /web/stream.ts
get_file_stream(): finish.

とメッセージが表示されますが、VLC側には何も出ません。
ファイルに落とす録画はできているのでコンパイルは上手くいっていると思うの
ですが、何か確認すべきところなどアドバイスがあればお願いします。

543:login:Penguin
10/10/12 03:59:25 BuE1QNM0
>>541
情報ありがとうございます。
u_char splitpesbuf_t.buffer[3*1024*1024]
としたら壊れなくなりましたか。
了解です。コミットした場合の影響度等もうちょっと調べてから取り入れさせてもらいます。

>>542
お手を患わせて申し訳ないです。
ファイル直打ちの get_file_stream(): finish までいけてるので、
TSデータが送信されてそうな感じですねぇ。
念のため確認ですが、b25オプションつけてます?

wget等で直指定してファイルが落ちてくるか確認出来ませんか?
で、その wget で落としたファイルを、ローカルファイルとして再生できるか?
出来ない場合、recpt1 DLNA版が壊していることになります…orz...

544:443
10/10/12 05:27:52 BuE1QNM0
>>543
PESの仕様を再確認してみました。
ISO-13818-1 2.4.3.6 PES packet
Table 2-17 - PES packet
PES_packet_length 16 uimsbuf

なので、最大値は 65535 です。

128*1024 で収まるハズです。が、収まっていないと。
demuxのコードが変な事している気もしますが、
PES毎に alloc しているので 3MByte x PES の分メモリ食いになるのが微妙です。
富豪的に大きいことはいいことだ。で行っちゃうのも手ですけどカッコ悪いです。

コード読み直す元気がある時に、demuxのコードは何とかすると言うことにして、
3MByteで行っちゃいますか…カッコ悪いけど、とりあえず動く方が大事ということで…

545:443
10/10/12 05:59:38 BuE1QNM0
URLリンク(hg.honeyplanet.jp)
PES bufを3MByteに拡張。
uShareの名前を表に出さないように修正。
UUIDの計算を、PID+MACアドレスとしたので、複数 recpt1 が同時起動可能。
DLNAの表示名を recpt1 に変更(デバイスファイル名含めたいなぁ…)

といった修正を行っています。

546:535
10/10/12 07:10:22 pl/6i4bg
>>543
>念のため確認ですが、b25オプションつけてます?
はい、サーバーを ./recpt1 --b25 --strip 27 - /dev/null として待機させています。
因みに、 /dev/null を test.ts とすると、このファイルは後から VLC で視聴可能です。

>wget等で直指定してファイルが落ちてくるか確認出来ませんか?
これは .../web/100000.ts を wget するということですか?
(Linux環境がServer以外に無いのですが、自分自身でwgetすればいい?)
やりかた自信は無いですが、頑張ってみます。


547:535
10/10/12 19:59:48 pl/6i4bg
>wget等で直指定してファイルが落ちてくるか確認出来ませんか?
確認してみました。 コマンド端末を2つ上げて、

端末1: ./recpt1 --b25 --strip 27 - /dev/null
として待機。 その後

端末2: wget URLリンク(localhost:49152)
とすると、端末2で、

localhost|127.0.0.1|:49152 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 0 [video/mpeg:DLNA.ORG_PS=1]
`100000.ts' に保存中
[ <=> ] 0 --.-K/s 時間 0s
2010-10-12 19:45:01 (0.00 B/s) - `100000.ts' へ保存完了 [0/0]

というように、ファイルの長さが0になってしまっています。
アドバイスがあればよろしくお願いいたします。

548:login:Penguin
10/10/13 01:41:29 J17hPGOZ
>>547
ご協力ありがとうございます。
該当箇所分かりました。
録画時間がコード上で「0」になる指定方法していますか。
内部値としては最大とする方が良いですねぇ…
だけど、本気の最大値にすると
CONTENT-LENGTH: 9223372036854775807
になるから、マトモに扱えるプレイヤが存在するか?

1日垂れ流しをすることを想定して、100GByte固定でどうかな?
とりあえずこれで実験してみてください。
うまく行かない場合には、
http.c の L606 を *適切* に書き換えてみてください。

URLリンク(hg.honeyplanet.jp)

549:535
10/10/13 06:54:43 4wMT3vu4
>>548
ぉお、ありがとうございました。 VLC でストリーム再生できました。
でも、残念ながら毎回10秒もしないで

http_seek
Attempting to seek by 0 from 0 in /web/stream.ts
/web/stream.ts: cannot seek: STREAM
Segmentation fault

を出して、Server 側が落ちてしまいます。 これって、

>http.c の L606 を *適切* に書き換えてみてください。
で直る話なのでしょうか? アドバイスをよろしくお願いします。

550:535
10/10/13 07:36:12 4wMT3vu4

L606を変えて、 10MB まで変化させて見ましたが、
Segmentation fault で落ちる状況に変わりませんでした。
確認すべきことがあればアドバイスください。

551:535
10/10/13 07:48:32 4wMT3vu4
因みに、wget してみたところ、

localhost|127.0.0.1|:49152 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 500 Internal Server Error
2010-10-13 07:45:15 エラー 500: Internal Server Error

となります @ うゎ、会社に遅れる!

552:443
10/10/13 21:49:13 J17hPGOZ
>>449
Segmentation faultですか…
http.c の L606 を変更してもいいことは起こらないパターンだと思われます。
こちらでも色々やってみましたが、再現しませんでした。

seekのメッセージは再生初めてから一度きり?それとも何度か出ます?
再生機で再生を始めてから、ボタン等何か押しました?
再生機が実は裏で何かやっている気がすることとかありません?

wgetで500 Internal Server Error は、パス間違えてると思います。
0の数とか正しいですか?404に落とした方が人に優しい気もしますねぇ…
気が向いたら対応するかも。

$ wget URLリンク(192.168.1.34:49153)
wget URLリンク(192.168.1.34:49153)
--2010-10-13 21:45:28-- URLリンク(192.168.1.34:49153)
Connecting to 192.168.1.34:49153... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2010-10-13 21:45:28 ERROR 500: Internal Server Error.


553:443
10/10/13 22:27:04 J17hPGOZ
URLリンク(hg.honeyplanet.jp)
から
URLリンク(hg.honeyplanet.jp)
に関してですが、UUIDが起動毎に異なる(PIDを含めたので)ため、
braviaの画面メニューがエライ事になることが判明しました。
(recpt1のアイコンで画面が爆発します...orz...)

recpt1:X (Xはデバイスファイルの末尾の数字)と画面表示するように改造。
UUIDもPIDではなくデバイスファイル名からと
するように早急に改造しますので少々お待ちください。

554:login:Penguin
10/10/13 23:07:48 tVJKTFuI
そんな機能より映像ファイルと音声ファイルが破損してたりしたら補完するような機能が欲しい。
ffmpegで時々エラーになったり、音ズレがテラウザス。

555:535
10/10/13 23:53:12 4wMT3vu4
すみません。 Wget できました。 アドレス間違えてみたいです。
で、wget でも

Found 1 files and subdirectories. <- ここで待機
http_get_info, filename : /web/100000.ts
Looking for entry id 100000
Found at 0x1ecc130
http_get_info, entry found.
Looking for entry id 100000
Found at 0x1ecc130
Fullpath : /web/stream.ts
get_file_stream(): finish.
Segmentation fault

といっておちてしまいます。



556:535
10/10/13 23:54:00 4wMT3vu4
(続き)
因みに、短いファイル(10MB位)で転送がたまたま上手くいった場合には,
そのファイルはちゃんと視聴可能です。 (壊れていません)

VLCでのStream視聴の場合には

Found 1 files and subdirectories. <- ここで待機
http_get_info, filename : /web/100000.ts <-視聴開始
Looking for entry id 100000
Found at 0x1da6210
http_get_info, entry found.
Looking for entry id 100000
Found at 0x1da6210
Fullpath : /web/stream.ts
get_file_stream(): finish.
http_seek
Attempting to seek by 0 from 0 in /web/stream.ts
/web/stream.ts: cannot seek: STREAM
Segmentation fault

となります。 なお、いわゆる再生機(Link Theater)では試していません

557:443
10/10/14 00:10:37 9XjstHBy
URLリンク(hg.honeyplanet.jp)
DLNAの表示名に devN を使用していると出す修正と、
UUIDにデバイスIDを含める(半固定とする)ように修正しました

>>555
何故SEGVしてしまうのか予想が付かないです
うちでは全く再現しません。
まさかの初期化漏れでもあるのかなぁ…
週末にでもコードを見直してみます。

558:login:Penguin
10/10/14 06:00:47 gPEZmaJ3
>>554
TS録画して再生するだけで音ズレすることある?

559:535
10/10/14 06:08:43 4dZfvV60
>>557
再生機(LinkTheater)でTV番組をRealTimeに見たいな、とずっと思っていたので
今回の機能はまさに欲しかった機能です。 ホントに期待しています。

560:login:Penguin
10/10/14 14:29:36 d3rf9Rwp
HTTTPならチャックにして返せば事前にファイルサイズを返さなくてもいいんじゃね?
DLNAはよく知らないからクライアント側が対応できるか解らないけど。

561:login:Penguin
10/10/14 16:49:28 bEcXXEgr
NNTPと書いたら、Nが多いと指摘されたことがある。

562:login:Penguin
10/10/14 17:05:45 d3rf9Rwp
ごめんtypoした… 許してください…

563:443
10/10/15 01:38:08 yJ+ZIb2a
>>559
早期解決のため、できればこちらで再現させて core から解析してみたいと思います。
以下の情報の採取と調査をお願い出来ませんか?

(1) CPUの種類(i386(32bit) or AMD64)
(2) recpt1 利用時のコマンドラインオプション
(3) recpt1 を動作させているディストリビューションの詳細情報
(4) recpt1 を動作させているホスト上での uname -a の実行結果
(5) SEGVしてしまう番組を TS に保存した場合の ffmpeg -i TSFILE の実行結果(番組、放送局に関係なく発生するか?)
(6) DLNA機能統合前の revision(esオプション実装後) のコードに於いて、同様の障害が発生するか否か?

お願いばかりで申し訳ありませんが、ご協力いただければと思います。

564:443
10/10/15 01:51:09 yJ+ZIb2a
>>563
すいません。以下も追加でお願いします。
(7) recpt1を起動させてhttpでのアクセスを行わない場合には、SEGVするか?
(8) (7)でSEGVしない場合、httpでアクセスしはじめてSEGVするまでのおよその時間(1-2秒程度?)

565:login:Penguin
10/10/15 15:03:39 21pCYcJ2
SID指定でCSを録画したのだが、日本語音声と英語音声が一つになってしまった・・・
なんとか分離出来ないんですかね?

566:login:Penguin
10/10/15 19:01:39 p4Qb1ugE
一つになったってのがよくわからん。
左と右で日本語と英語が出てくるのか、それとも両方から日本語と英語が出てくるのか
左と右で日本語と英語が出てくるなら、再生ソフトで片方のチャンネルだけに絞ることができるかもしれない。
両方から日本語と英語が混ざって出てくるならこれを分離するのは至難。

大抵は再生ソフトで切り替えができるもんだが。

567:login:Penguin
10/10/15 19:30:40 6Ye/ZsCq
成果物が散乱しすぎ

568:login:Penguin
10/10/15 20:13:07 Nyus/GJV
>>565
ffmpeg -i "TSファイル"の実行結果は?
普通の2ヶ国語放送だったら↓のようになるはず

Stream #0.0[0x100]: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 24000 kb/s, 33.57 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x110]: Audio: aac, 48000 Hz, 5.1, s16, 396 kb/s
Stream #0.2[0x111]: Audio: aac, 0 channels, s16

2つあるAudioのうち、Stream #0.1が日本語、Stream#0.2が英語音声
これだったら>>414-417

569:535
10/10/15 21:50:09 iluF0v6L
>>563
(1) CPUの種類(i386(32bit) or AMD64)
-> Celeron G1101 (NEC Express5800/GT110b)
(2) recpt1 利用時のコマンドラインオプション
-> ./recpt1 --b25 --strip 27 - /dev/null
(3) recpt1 を動作させているディストリビューションの詳細情報
-> Ubuntu 10.04LTS 64bit Server version
(4) recpt1 を動作させているホスト上での uname -a の実行結果
-> Linux peach 2.6.32-25-server #44-Ubuntu SMP Fri Sep 17 21:13:39 UTC 2010 x86_64 GNU/Linux
(5) -> 長いので次レスへ
(6) DLNA機能統合前の revision(esオプション実装後) のコードに於いて、同様の障害が発生するか否か?
-> すみません。 具体的にどのバージョンで試すべきか教えてください。
(7) recpt1を起動させてhttpでのアクセスを行わない場合には、SEGVするか?
-> しない (10分以上放置しても大丈夫)
(8) (7)でSEGVしない場合、httpでアクセスしはじめてSEGVするまでのおよその時間(1-2秒程度?)
-> 早ければ2-3秒、長くもつ場合は30秒程度


570:535
10/10/15 21:50:55 iluF0v6L
(続き)
(5) SEGVしてしまう番組を TS に保存した場合の ffmpeg -i TSFILE の実行結果(番組、放送局に関係なく発生するか?)
-> 色々なパターンがありますが、長いのでとりあえず最後の部分だけ
Seems stream 0 codec frame rate differs from container frame rate: 59.94 (60000/1001) -> 29.97 (30000/1001)
Input #0, mpegts, from '100000.ts':
Duration: 00:00:04.26, start: 65600.125833, bitrate: 12874 kb/s
Program 1024 NHKAm9g15~
Stream #0.0[0x100]: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 24000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x110]: Audio: aac, 64000 Hz, mono, s16, 176 kb/s
Program 1025 NHKAm9g25~
Stream #0.0[0x100]: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 24000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x110]: Audio: aac, 64000 Hz, mono, s16, 176 kb/s
Program 1408 NHK7HBSG5~
Stream #0.2[0x581]: Video: h264, yuv420p, 320x180, 14.99 tbr, 90k tbn, 14.99 tbc
Stream #0.3[0x583]: Audio: aac, 0 channels, s16
Program 65520
At least one output file must be specified

よろしくお願いします。

571:login:Penguin
10/10/15 21:58:17 21pCYcJ2
>>568
Duration: 01:00:29.04, start: 88332.307956, bitrate: 4925 kb/s
Program 340
Stream #0.0[0x1001]: Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], 2000 kb/s, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x1041]: Audio: aac, 48000 Hz, stereo, s16, 144 kb/s

0.2がないぽいorz
これだと無理?

572:535
10/10/15 22:02:43 iluF0v6L
> ffmpeg -i TSFILE
以下のようなエラーが出ていることが多い・・・という情報のほうが有意義ですかね。
でも、すべてにこれが出ているわけではありません。
[NULL @ 0x661670]non-existing PPS referenced
[h264 @ 0x661670]non-existing PPS referenced
[h264 @ 0x661670]decode_slice_header error
[h264 @ 0x661670]no frame!
[h264 @ 0x661670]non-existing PPS referenced
Last message repeated 1 times

573:login:Penguin
10/10/15 23:31:47 Nyus/GJV
>>571
それで2ヶ国語なのか
じゃあ後は>>566と同じだ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch