Coder Social home page Coder Social logo

recpt1's People

Contributors

eternalharvest avatar imp-shirai avatar masakura avatar nicklegr avatar rokoucha avatar soralis0912 avatar stz2012 avatar yt4687 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

recpt1's Issues

同じTSIDを共有するマルチCHストリームのb25デコードにおいてTSペイロード破綻が起こる

表題の件、特定の条件で絵音データの破損が起こります。
発生条件・発生状況:
・同一TSIDを共有するチャンネルの--b25オプションによるストリームデコード中に起こる。
 ※スターチャンネル2&3で確認

・チャンネルAの番組が終わって番宣や次番組で音声の5.1ch/2chが切替わる
 (=音声PIDが遷移する)瞬間に、チャンネルB番組で数十~数百におよぶTSの
 ペイロード破損が発生し、その後回復する。
 破損はペイロードのみでTSヘッダは全く異常がないため録画アプリのdrop
 チェックには引っかからないが、Pegasys社TMSR6の再エンコード箇所
 チェックで該当箇所が検出可能。
 ※破損はもしかしてデコード漏れなのかも知れません

・recpt1の出力を--b25で復号化せず、arib-b25-stream-testに渡すと破損なく
 正常にデコードできることを確認。

これまでの経緯はこちらです

なお、本件は派生元であるhoneyplanet版から内在しているのではないかと思われますが
メンテが停止しているようなので、私が普段使わせていただいているこちらで報告
させていただきました。

HTTPオプション使用時に SIGSEGV でクライアントが切断される問題

プルリクエストの本文にバグの内容を書いていましたが、検証不足の点があったため再度検証した後 Issue として書き直しました。

症状

recpt1 の HTTP モードにおいて --sid オプションを指定しないで起動すると、クライアントからの接続時に SIGSEGV が発生し recpt1 自身がクラッシュして落ちてしまいクライアントの接続が強制的に切断されてしまう。ただし、発生するのは地上波・BS放送のみで CS 放送の場合はクライアントによりアクセスされる URL に sid が含まれるので問題は発生しない。

再現手順

  • 以下のように --sid オプションを指定せずに HTTP サーバモードで起動
[recpt1@localhost:~]$ recpt1 --b25 --http 8080
using B25...
creating a http daemon
run as a daemon..
pid = 11269
listening at port 8888
  • 何らかのクライアントで接続(例 http://localhost:8080/101)
  • SIGSEGV で recpt1 が落ちクライアントの接続が切断される
connect from: NONAME [10.1.1.212] port 39356
request command is GET /101 HTTP/1.1

channel is 101

ただし、接続 URL が CS 放送の場合(例 http://localhost:8888/CS4/100 )のように sid が URL に含まれているとエラーが発生せずに接続できる。また、起動時のオプションで以下のように指定すれば URL で指定されなかった場合のデフォルトの sid として使用されるので問題は発生しない。

[recpt1@localhost:~]$ recpt1 --b25 --sid hd --http 8080

地デジの放送停止時刻以降録画データ(.m2ts)が再生できなくなってしまう

ログを見ると録画時間が86399secとあり録画はされているのですが、録画されたデータを確認すると放送停止の画面(カラーバー)が表示された以降データを確認することができませんでした。
ffmpegでその時間以降切り出してみましたが再生できませんでした。
他の放送局(Eテレとテレビ東京)で放送停止時間があったので放送停止時間を含むよう録画しましたがそちらはデータが正常に再生されていることを確認しています。

放送停止中も録画できるようにするコマンドオプションなどあれば教えていただけますでしょうか。
以下にログなどを記載させていただきます。

録画コマンド
recpt1 --b25 --device /dev/px4video3 --sid 56336 31 86399 date "+%Y%m%d_%H%M%S".m2ts

ログ
b25->put failed
b25_decode failed (code=-4). fall back to encrypted recording.
Rescan PID
PMT reading..
PMT reading..
同一メッセージ
Recorded 86399sec
using B25...
using device: /dev/px4video3
pid = 2841305
device = /dev/px4video3

C/N = 32.521852dB
Recording...
Available sid = 56336 56337 56720
Chosen sid = 56336
Available PMT = 0x1f0 0x2f0 0x1fc8

バージョンなど
$ uname -a
Linux recclient0101 5.8.0-50-generic #56~20.04.1-Ubuntu SMP Mon Apr 12 21:46:35 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ recpt1 -version
recpt1 rev.39 by stz2012
recorder command for PT1/2/3 digital tuner.

BS JapanがBS01_2に

channelが変わってしまったので、修正が必要だと思います。

軽量標準Cライブラリ musl 環境下でビルドが通らない問題

Docker によるコンテナ化を試みてイメージ作成をしていたところ、ベースイメージが Alpine Linux 5.3 の場合にビルドできない問題に遭遇しました。調べて見たところ軽量化のために、標準Cライブラリに musl を使っているのが原因のようです。他にも Rasberry Pi の一部のディストリビューションや、組み込み環境で使われているようで、他の環境でも同様の問題が発生していると思われます。

再現方法

[recpt1@localhost:~]$ docker run --rm -it alpine:3.5 /bin/sh
/ # apk add --update build-base git autoconf automake
/ # mkdir -p /usr/local/src
/ # git clone https://github.com/stz2012/recpt1.git /usr/local/src/recpt1
/ # cd /usr/local/src/recpt1/recpt1
/usr/local/src/recpt1/recpt1 # ./autogen.sh
/usr/local/src/recpt1/recpt1 # ./autogen.sh ./configure
/usr/local/src/recpt1/recpt1 # make
revh="`git rev-list HEAD | wc -l 2> /dev/null`"; \
if [ -n "$revh" ] && [ "$revh" != "0" ] ; then \
	echo "const char *version = \"rev.$revh by stz2012\";" > version.h; \
else \
	echo "const char *version = \""c8688d7d6382_with_http_server_RC4 by stz2012"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1core.c recpt1ctl.c recpt1core.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -c -o recpt1.o recpt1.c
In file included from recpt1.c:33:0:
recpt1core.h:53:16: error: redefinition of 'struct msgbuf'
 typedef struct msgbuf {
                ^~~~~~
In file included from recpt1.c:24:0:
/usr/include/sys/msg.h:42:8: note: originally defined here
 struct msgbuf {
        ^~~~~~
make: *** [<builtin>: recpt1.o] Error 1

釣りビジョン

// CH11
{ 5, CHTYPE_SATELLITE, 0, "231"}, /* 231ch:放送大学ex /
{ 5, CHTYPE_SATELLITE, 0, "232"}, /
232ch:放送大学on /
{ 5, CHTYPE_SATELLITE, 1, "251"}, /
251ch:BS釣りビジョン */

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.