Allegro Moderatoな日常

PC、音楽、食事など、その時はまっている事柄についてそこはかとなく。

続・AV-LS300DWでts

TsSplitterを使ってtsファイルを加工することにより
AV-LS300DWでもtsが再生できることがわかりました。⇒ 前回の話
がしかし、TsSplitterはwindows用のソフトです。

なんとかLinuxだけで完結したいのですが…。
TsSplitterのためだけにwineをつかうのは、なんだか負けた気がしますしw

ということで、TsSplitterとtsselectが出力するtsデータの差分を眺めてみることに。

悪戦苦闘の末、PATというtsパケットに差異があることがわかりました。
PATはtsデータのもっとも基本となるテーブルで、PMTとよばれるテーブルのIDを保持しています。
さらにPMTは、映像や音データ等のIDのセットを保持しており、HDや1seg毎にそれぞれ
一つずつ存在します。
なので、PATには複数のPMTのIDが書かれているわけですが、
これがAV-LS300DWのお気に召さず、再生をしてくれない原因となっていました。

TsSplitterは、1segの映像や音データそのものを削除するだけでなく、
PAT情報もPMT一つのみ残すように書き換えているようです。

この解析の副産物で、どのtsパケットを残せばいいのかも
だいたいわかりました。…ただのカンですがw
・PAT固有のID : 0x0000
・PATが指し示すPMTのID
・PMTが指し示す映像、音声、同期をとるためのクロック(PCR)のID

てことで…

必要なtsパケットを残しつつ、PATを書き換えるプログラムをPythonで作成。
なんとかLinuxだけで完結することができるようになりました。
(需要があればソースを公開します。…まー無いかw)

ただ処理時間がちょっと長いでしょうか。tsselectの倍ちかくかかってます…w
暇なときにC++で書き直そう。

■ 参考文献
ARIB標準規格:デジタル放送に使用する番組配列情報
http://www.arib.or.jp/english/html/overview/doc/2-STD-B10v4_6.pdf

■必要なtsパケットを残しつつ、PATを書き換えるpythonスクリプト
tss.py

1.↑のリンク先をファイルに保存。
2.ファイル名のお尻の「.txt」を削除。
3.chmodで実行属性付加。
4.スクリプト実行。
./tss.py hoge.ts
hoge.tsは、入力tsファイル名。「hoge_tss.ts」というファイル名で出力されます。

・ pythonは、最近のlinuxディストリビューションでは最初から入っているみたいですが、なかったらyum等でインストールしてください。
・メインストリームの動画しか取り出しません。1segとかは捨てるのみです。
・入力ファイルにfifoを使う場合は、114行目のseekをコメントアウトしてください。(これによって頭のパケットが少し削られますが、今まで使っていて特に支障はありません。)
・同期処理は入っていません。b25の結果ファイルは同期がとれているようなので。

コメント

ソース公開してください!!

TSsplitterのLinux版がないので、私も非常に困っています。
PATの解析とソース、ぜひぜひ公開してください!!
お願いします!!

承知しました!

ソースのご要望、ちょっと嬉しいです。
pythonのソースを追記に貼りたいと思います。
(C++で書き直しはまだやってないのです。)

PATの解析の話は、後ほど別立てでアップしたいと思います。

移植してみました

C 言語で移植してみました。

・・・ただ、C 言語での実装経験がほとんどないのと、Python の知識が皆無なので少々不安なんです。
もしよろしければソースを確認していただけませんでしょうか・・・
# 自分の利用用途に合わせて少々修正を加えてしまいましたが・・・

CS 放送を 30 秒程度録画したものを分割して、TsSplitter で分割したものと比較した結果が一致しているので問題はないとは思っています。
# ソースを利用させていただいているので当然なんですが・・・

遅くなりました…

ぺんぺん草が生え過ぎていて見落としておりました。すみません。

よかったらCソースの方、拝見させてください。

お世話になっております。

ttp://hp.vector.co.jp/authors/VA038175/tssplitter_lite.zip
にソース一式を置きました。

また、非常に勝手で申し訳ないのですが、
ttp://d.hatena.ne.jp/querulous/
で公開してしまいました。
# 問題があるようでしたら削除します。

大変失礼しました・・・

ダウンロード&make

とりあえずダウンロード&makeできました。ありがとうございます。
ソースの方、拝見しまーす。

公開に関しましてはまったく問題ありません。
むしろリンクを張らせてください!

#昨晩同じような文章をコメントしたのですが、なんか投稿されてないですね…寝ぼけてたのかしらw

消えてますね

コメントを拝見してリンクを間違えていたのに気がつきましたので、ちゃんと投稿されてましたよ。

リンクは大歓迎です。
こちらからもリンクを貼らせて頂いてもよろしいでしょうか?

リンク張りました

それから、相互リンクOKです。ぜひぜひ。

#コメントはなぜ消えてしまったのだろう…
#spamコメントと一緒に削除してしまった…とか。

ソース確認しました

tss.pyが完璧に移植されているようです!

元のtss.pyからそうなっているのですが、188バイト単位の読み込みだと
ファイルアクセスが頻繁になって、処理時間が長くなっているかもしれません。
もし余力がありましたら、読み込みのバイト数を188*nバイトでまとめてみてはいかがでしょう。

秘密のコメント

ブログ管理人への秘密コメントです

Linux専用分離ソフト

現在は、WineでBonTsDemuxを使用してTSファイルをm2vとwavに分離していますが
Linux専用ソフトがまだかなーと期待しつつ待ってます。
どなたか作れる方いましたら需要あると思うので、作って( ゚Д゚)ホスィ

ffmpegでは

コメントありがとうございます!
録画PCがwindowsになって、linux界からすっかり離れてしまいまして、
私ではお力になれないかもしれません…
というか、そのまえに仕事暇にな〜れw

TSファイルの分離は、ffmpegではやっぱりだめなんでしょうか。
音ずれとかいろいろ難しいんでしょうかねー。

モンクレール レディース ダウン

クレール エス) SERI(セリ)の後継モデルSERRE(セール)など、世界中からバイマに集まっています.

モンブランボールペン

まずは、自分の文字を書くときのクセを調べてみましょう。

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://allegro.dtiblog.com/tb.php/177-bc8d1f56

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

-

管理人の承認後に表示されます

 | HOME | 

Calendar

02 | 2017-03 | 04
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

Categories

Recent Comments

Profile

son

son

ババ〜〜トリック♪

Monthly

Recent Entries

Recent Trackbacks

Appendix

顔文字教室

お小遣い稼ぎ!
スマホでお小遣い稼ぎ!
DTIブログポータルへ
このブログを通報
Report Abuse