IP(TS) เดซเตเดฒเต‹เด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป TSDuck เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

เด‡เดจเตเดจเต, IP (TS) เดธเตเดŸเตเดฐเต€เดฎเตเด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต (เดชเตเดฐเตŠเดชเตเดฐเตˆเดฑเตเดฑเดฑเดฟ) เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเดฃเตเดŸเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต VB ะธ iQ, เด…เดตเตผเด•เตเด•เต เดธเดพเดฎเดพเดจเตเดฏเด‚ เดธเดฎเตเดชเดจเตเดจเดฎเดพเดฏ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดซเด‚เด—เตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดŸเดฟเดตเดฟ เดธเต‡เดตเดจเด™เตเด™เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดตเดฒเดฟเดฏ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผเด•เตเด•เต เด…เดคเตเดคเดฐเด‚ เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเดฃเตเดŸเต. เดˆ เดฒเต‡เด–เดจเด‚ เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดคเตเดคเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต TSDuck, CC(เดคเตเดŸเตผเดšเตเดš เด•เตŒเดฃเตเดŸเตผ) เด•เต—เดฃเตเดŸเดฑเตเด‚ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเตเด‚ เดตเดดเดฟ IP(TS) เดธเตเดŸเตเดฐเต€เดฎเตเด•เดณเตเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดžเตเดž เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด’เดฐเต เดชเดพเดŸเตเดŸเดคเตเดคเดฟเดจเต†เดŸเตเดคเตเดค L2 เดšเดพเดจเดฒเดฟเดฒเต‚เดŸเต† เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเตเดŸเต† เดจเดทเตเดŸเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเตเดดเตเดตเตป เด’เดดเตเด•เตเด•เตเด‚ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เตเดฏเต‚เดตเดฟเดฒเต† เดจเดทเตเดŸ เด•เต—เดฃเตเดŸเดฑเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†).

TSDuck-เดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดตเดณเดฐเต† เดšเตเดฐเตเด•เตเด•เดฎเดพเดฏเดฟ

เดŸเดฟเดŽเดธเต เดธเตเดŸเตเดฐเต€เดฎเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต (2-เด•เตเดฒเต‹เดธเต เดฌเดฟเดŽเดธเตเดกเดฟ เดฒเตˆเดธเตปเดธเต) เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ (เด•เตบเดธเต‹เตพ เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเดตเตเด‚ เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดค เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฒเด—เดฟเดจเตเด•เตพ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเด‚) เด†เดฃเต TSDuck. เด’เดฐเต เด‡เตปเดชเตเดŸเตเดŸเต เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เด‡เดคเดฟเดจเต IP (เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต/เดฏเต‚เดฃเดฟเด•เดพเดธเตเดฑเตเดฑเต), http, hls, dvb เดŸเตเดฏเต‚เดฃเดฑเตเด•เตพ, dektec dvb-asi demodulator เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด’เดฐเต เด†เดจเตเดคเดฐเดฟเด• TS- เดธเตเดŸเตเดฐเต€เด‚ เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด‚ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดพเดฏเดจเดฏเตเด‚ เด‰เดฃเตเดŸเต. เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เด’เดฐเต เดซเดฏเตฝ, IP (เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต/เดฏเต‚เดฃเดฟเด•เดพเดธเตเดฑเตเดฑเต), hls, dektec dvb-asi, HiDes เดฎเต‹เดกเตเดฒเต‡เดฑเตเดฑเดฑเตเด•เตพ, เดชเตเดฒเต†เดฏเดฑเตเด•เตพ (mplayer, vlc, xine), เดกเตเดฐเต‹เดชเตเดชเต เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดพเด‚. เด‡เตปเดชเตเดŸเตเดŸเดฟเดจเตเด‚ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเดจเตเดฎเดฟเดŸเดฏเดฟเตฝ เดตเดฟเดตเดฟเดง เดŸเตเดฐเดพเดซเดฟเด•เต เดชเตเดฐเต‹เดธเดธเดฑเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจเดคเดพเดฃเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, PID เดฑเต€เดฎเดพเดชเตเดชเดฟเด‚เด—เต, เดธเตโ€Œเด•เตเดฐเดพเด‚เดฌเตเดฒเดฟเด‚เด—เต / เดกเดฟเดธเตโ€Œเด•เตเดฐเดพเด‚เดฌเตเดฒเดฟเด‚เด—เต, CC เด•เตŒเดฃเตเดŸเตผ เดตเดฟเดถเด•เดฒเดจเด‚, เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเต เด•เดฃเด•เตเด•เตเด•เต‚เดŸเตเดŸเตฝ, เด•เต‚เดŸเดพเดคเต† TS เดธเตเดŸเตเดฐเต€เดฎเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เดฎเดฑเตเดฑเต เดธเดพเดงเดพเดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ.

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, IP เดธเตเดŸเตเดฐเต€เดฎเตเด•เตพ (เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต) เด’เดฐเต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚, เดชเตเดฐเต‹เดธเดธเตเดธเดฑเตเด•เตพ bitrate_monitor (เดชเต‡เดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดคเต เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต), เดคเตเดŸเตผเดšเตเดš (CC เด•เต—เดฃเตเดŸเดฑเตเด•เดณเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚) เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. TSDuck เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดฎเดฑเตเดฑเตŠเดฐเต เด‡เตปเดชเตเดŸเตเดŸเต เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต IP เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเด‚.

เดฒเดญเตเดฏเดฎเดพเดฃเต เด”เดฆเตเดฏเต‹เด—เดฟเด• เดจเดฟเตผเดฎเตเดฎเดพเดฃเด™เตเด™เตพ/เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดฎเดฟเด•เตเด• เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเด‚ TSDuck. เด…เดต เดกเต†เดฌเดฟเดฏเดจเดฟเตฝ เดฒเดญเตเดฏเดฎเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดกเต†เดฌเดฟเดฏเตป 8, เดกเต†เดฌเดฟเดฏเตป 10 เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เต เด•เต€เดดเดฟเตฝ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดคเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดžเตเดžเต.

เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, TSDuck 3.19-1520 เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดฒเดฟเดจเด•เตเดธเต OS เด†เดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (เดชเดฐเดฟเดนเดพเดฐเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดพเตป debian 10 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดฏเดฅเดพเตผเดคเตเดฅ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ CentOS 7 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต)

TSDuck, OS เดŽเดจเตเดจเดฟเดต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเต

เดฏเดฅเดพเตผเดคเตเดฅ เดซเตเดฒเต‹เด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, TSDuck เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เดพเตผเดกเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ OS (เดธเต‹เด•เตเด•เดฑเตเดฑเต) เดคเดฒเดคเตเดคเดฟเตฝ เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เด‡เดฒเตเดฒเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เด‰เดฑเดชเตเดชเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดธเต†เตผเดตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ" เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดชเดฟเดจเตเดจเต€เดŸเต เดŠเดนเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. ethtool -S ethX เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เดพเตผเดกเต เดคเดฒเดคเตเดคเดฟเตฝ เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดŸเตเดฏเต‚เดฃเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด…เดคเต‡ ethtool เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ RX เดฌเดซเตผ (-G) เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เดšเดฟเดฒ เด“เดซเตโ€Œเดฒเต‹เดกเตเด•เตพ (-K) เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚). เด’เดฐเต เดชเตŠเดคเต เดถเตเดชเดพเตผเดถ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดค เดŸเตเดฐเดพเดซเดฟเด•เต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเต‹เตผเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด‰เดชเดฆเต‡เดถเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เดธเดพเดงเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เดฎเดฑเตเดฑเต เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเตเดฑเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เด•เดพเดฐเดฃเด‚ เด…เดจเดฒเตˆเดธเตผ เดชเต‹เตผเดŸเตเดŸเดฟเตฝ เดกเตเดฐเต‹เดชเตเดชเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดธเด‚เดญเดตเดฟเดšเตเดšเตเดตเต†เดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดคเต†เดฑเตเดฑเดพเดฏ เดชเต‹เดธเดฟเดฑเตเดฑเต€เดตเตเด•เตพ เด‡เดคเต เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดธเดพเดงเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ (เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเตเดณเตเดณ เด’เดฐเต เดฎเดฟเดจเดฟ-เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ/เดŽเตปโ€Œเดฏเตโ€Œเดธเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต), เด…เดจเดฒเตˆเดธเตผ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดตเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเต เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดค เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเตเดฑเต† เดฎเตเตปโ€Œเด—เดฃเดจ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เด…เดญเดฟเด•เดพเดฎเตเดฏเดฎเดพเดฃเต. เดตเต†เตผเดšเตเดตเตฝ เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเตเด•เดณเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเต, เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดซเดฟเดธเดฟเด•เตเด•เตฝ เดชเต‹เตผเดŸเตเดŸเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเดจเตเดณเตเดณเดฟเดฒเต† เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเด•เตเด•เดฑเตเดฑเต เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเดฃเด‚.

เดนเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด’เดฐเต เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเตเดฑเต† เดœเดจเดฑเต‡เดทเดจเตเด‚ เดธเตเดตเต€เด•เดฐเดฃเดตเตเด‚

TSDuck เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด†เดฆเตเดฏเดชเดŸเดฟเดฏเดพเดฏเดฟ, เดจเต†เดฑเตเดฑเตโ€Œเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเตŠเดฑเตเดฑ เดนเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดžเด™เตเด™เตพ เดŸเตเดฐเดพเดซเดฟเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เตฝ:

ip netns add P #ัะพะทะดะฐั‘ะผ netns P, ะฒ ะฝั‘ะผ ะฑัƒะดะตั‚ ะฟั€ะพะธัั…ะพะดะธั‚ัŒ ะฐะฝะฐะปะธะท ั‚ั€ะฐั„ะธะบะฐ
ip link add type veth #ัะพะทะดะฐั‘ะผ veth-ะฟะฐั€ัƒ - veth0 ะพัั‚ะฐะฒะปัะตะผ ะฒ netns ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ (ะฒ ัั‚ะพั‚ ะธะฝั‚ะตั€ั„ะตะนั ะฑัƒะดะตั‚ ะณะตะฝะตั€ะธั€ะพะฒะฐั‚ัŒัั ั‚ั€ะฐั„ะธะบ)
ip link set dev veth1 netns P #veth1 - ะฟะพะผะตั‰ะฐะตะผ ะฒ netns P (ะฝะฐ ัั‚ะพะผ ะธะฝั‚ะตั€ั„ะตะนัะต ะฑัƒะดะตั‚ ะฟั€ะธั‘ะผ ั‚ั€ะฐั„ะธะบะฐ)
ip netns exec P ifconfig veth1 192.0.2.1/30 up #ะฟะพะดะฝะธะผะฐะตะผ IP ะฝะฐ veth1, ะฝะต ะธะผะตะตั‚ ะทะฝะฐั‡ะตะฝะธั ะบะฐะบะพะน ะธะผะตะฝะฝะพ
ip netns exec P ip ro add default via 192.0.2.2 #ะฝะฐัั‚ั€ะฐะธะฒะฐะตะผ ะผะฐั€ัˆั€ัƒั‚ ะฟะพ ัƒะผะพะปั‡ะฐะฝะธัŽ ะฒะฝัƒั‚ั€ะธ nents P
sysctl net.ipv6.conf.veth0.disable_ipv6=1 #ะพั‚ะบะปัŽั‡ะฐะตะผ IPv6 ะฝะฐ veth0 - ัั‚ะพ ะดะตะปะฐะตั‚ัั ะดะปั ั‚ะพะณะพ, ั‡ั‚ะพะฑั‹ ะฒ ัั‡ั‘ั‚ั‡ะธะบ TX ะฝะต ะฟะพะฟะฐะดะฐะป ะฟะพัั‚ะพั€ะพะฝะฝะธะน ะผัƒัะพั€
ifconfig veth0 up #ะฟะพะดะฝะธะผะฐะตะผ ะธะฝั‚ะตั€ั„ะตะนั veth0
ip route add 239.0.0.1 dev veth0 #ัะพะทะดะฐั‘ะผ ะผะฐั€ัˆั€ัƒั‚, ั‡ั‚ะพะฑั‹ ะžะก ะฝะฐะฟั€ะฐะฒะปัะปะฐ ั‚ั€ะฐั„ะธะบ ะบ 239.0.0.1 ะฒ ัั‚ะพั€ะพะฝัƒ veth0

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต. เดžเด™เตเด™เตพ เดŸเตเดฐเดพเดซเดฟเด•เต เด…เดจเดฒเตˆเดธเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต:

ip netns exec P tsp --realtime -t 
 -I ip 239.0.0.1:1234 
 -P continuity 
 -P bitrate_monitor -p 1 -t 1 
 -O drop

เด‡เดตเดฟเดŸเต† "-p 1 -t 1" เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพ เด“เดฐเต‹ เดธเต†เด•เตเด•เตปเดกเดฟเดฒเตเด‚ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด•เดฏเตเด‚ เด“เดฐเต‹ เดธเต†เด•เตเด•เตปเดกเดฟเดฒเตเด‚ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚ เดŽเดจเตเดจเดพเดฃเต.
เดžเด™เตเด™เตพ 10Mbps เดตเต‡เด—เดคเดฏเดฟเตฝ เดŸเตเดฐเดพเดซเดฟเด•เต เดœเดจเดฑเต‡เดฑเตเดฑเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต:

tsp -I craft 
 -P regulate -b 10000000 
 -O ip -p 7 -e --local-port 6000 239.0.0.1:1234

เด‡เดตเดฟเดŸเต† "-p 7 -e" เดŽเดจเตเดจเดคเดฟเดจเตผเดคเตเดฅเด‚ เดจเดฟเด™เตเด™เตพ 7 TS เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ 1 IP เดชเดพเด•เตเด•เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเดพเดฏเตเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด…เดคเต เด•เด เดฟเดจเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚ (-e), เด…เดคเดพเดฏเดคเต. เด’เดฐเต IP เดชเดพเด•เตเด•เดฑเตเดฑเต เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด…เดตเดธเดพเดจ เดชเตเดฐเต‹เดธเดธเตเดธเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต 7 TS เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดŽเดชเตเดชเต‹เดดเตเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•.

เด…เดจเดฒเตˆเดธเตผ เดชเตเดฐเดคเต€เด•เตเดทเดฟเดšเตเดš เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต:

* 2020/01/03 14:55:44 - bitrate_monitor: 2020/01/03 14:55:44, TS bitrate: 9,970,016 bits/s
* 2020/01/03 14:55:45 - bitrate_monitor: 2020/01/03 14:55:45, TS bitrate: 10,022,656 bits/s
* 2020/01/03 14:55:46 - bitrate_monitor: 2020/01/03 14:55:46, TS bitrate: 9,980,544 bits/s

เด‡เดชเตเดชเต‹เตพ เด•เตเดฑเดšเตเดšเต เดคเตเดณเตเดณเดฟเด•เตพ เดšเต‡เตผเด•เตเด•เตเด•:

ip netns exec P iptables -I INPUT -d 239.0.0.1 -m statistic --mode random --probability 0.001 -j DROP

เด•เต‚เดŸเดพเดคเต† เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚:

* 2020/01/03 14:57:11 - continuity: packet index: 80,745, PID: 0x0000, missing 7 packets
* 2020/01/03 14:57:11 - continuity: packet index: 83,342, PID: 0x0000, missing 7 packets 

เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดžเด™เตเด™เตพ เดชเดพเด•เตเด•เดฑเตเดฑเต เดจเดทเตเดŸเด‚ (ip netns exec P iptables -F) เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดœเดจเดฑเต‡เดฑเตเดฑเตผ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเต 100 Mbit/s เด†เดฏเดฟ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดจเดฒเตˆเดธเตผ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ CC เดชเดฟเดถเด•เตเด•เดณเตเด‚ 75-เดจเต เดชเด•เดฐเด‚ เดเด•เดฆเต‡เดถเด‚ 100 Mbit/s เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด†เดฐเต†เดฏเดพเดฃเต เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต - เดœเดจเดฑเต‡เดฑเตเดฑเตผ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเดถเตโ€Œเดจเด‚ เด…เดคเดฟเตฝ เด‡เดฒเตเดฒ, เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดžเด™เตเด™เตพ เด’เดฐเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต เดจเดฟเดถเตเดšเดฟเดค เดŽเดฃเตเดฃเด‚ เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ (700000 TS เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ = 100000 IP เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ):

# ifconfig veth0 | grep TX
       TX packets 151825460  bytes 205725459268 (191.5 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# tsp -I craft -c 700000 -P regulate -b 100000000 -P count -O ip -p 7 -e --local-port 6000 239.0.0.1:1234
* count: PID    0 (0x0000):    700,000 packets
# ifconfig veth0 | grep TX
        TX packets 151925460  bytes 205861259268 (191.7 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเดจเดพเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ 100000 เดเดชเดฟ เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต (151925460-151825460). เด…เดคเดฟเดจเดพเตฝ เด…เดจเดฒเตˆเดธเดฑเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเด‚, เด‡เดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ veth1 เดฒเต† RX เด•เต—เดฃเตเดŸเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต veth0 เดฒเต† TX เด•เต—เดฃเตเดŸเดฑเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต, เดคเตเดŸเตผเดจเตเดจเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เดคเดฒเดคเตเดคเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚:

# ip netns exec P cat /proc/net/udp                                                                                                           
  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode ref pointer drops             
  133: 010000EF:04D2 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 72338 2 00000000e0a441df 24355 

เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดกเตเดฐเต‹เดชเตเดชเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด•เดพเดฃเดพเด‚ = 24355. เดŸเดฟเดŽเดธเต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ, เด‡เดคเต 170485 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 24.36 เดจเตเดฑเต† 700000% เด†เดฃเต, เด…เดคเดฟเดจเดพเตฝ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเดฟเดจเตเดฑเต† เด…เดคเต‡ 25% udp เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดฒเต† เดกเตเดฐเต‹เดชเตเดชเตเด•เดณเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเต. UDP เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดฒเต† เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดฌเดซเดฑเดฟเดจเตเดฑเต† เด…เดญเดพเดตเด‚ เดฎเต‚เดฒเดฎเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฌเดซเตผ เดตเดฒเตเดชเตเดชเดตเตเด‚ เดชเดฐเดฎเดพเดตเดงเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฌเดซเตผ เดตเดฒเตเดชเตเดชเดตเตเด‚ เดจเต‹เด•เตเด•เตเด•:

# sysctl net.core.rmem_default
net.core.rmem_default = 212992
# sysctl net.core.rmem_max
net.core.rmem_max = 212992

เด…เดคเดฟเดจเดพเตฝ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เด’เดฐเต เดฌเดซเตผ เดตเดฒเตเดชเตเดชเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, 208 เด•เต†เดฌเดฟเดฏเตเดŸเต† เดฌเดซเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดŽเดจเตเดจเดพเตฝ เด…เดตเตผ เด•เต‚เดŸเตเดคเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดšเดพเตฝ, เด…เดชเตเดชเต‹เดดเตเด‚ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดŸเดคเต เด…เดตเตผเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เดฟเดฒเตเดฒ. IP เด‡เตปเดชเตเดŸเตเดŸเดฟเดจเดพเดฏเดฟ (-เดฌเดซเตผ-เดธเตˆเดธเต) เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเดซเตผ เดตเดฒเตเดชเตเดชเด‚ tsp-เตฝ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเตฝ เดธเตเดชเตผเดถเดฟเด•เตเด•เดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดชเดฐเดฎเดพเดตเดงเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฌเดซเตผ เดตเดฒเตเดชเตเดชเด‚ เดฎเดพเดคเตเดฐเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ tsp เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเดฟเดฒเต‚เดŸเต† เดฌเดซเตผ เดตเดฒเตเดชเตเดชเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•:

sysctl net.core.rmem_max=8388608
ip netns exec P tsp --realtime -t -I ip 239.0.0.1:1234 -b 8388608 -P continuity -P bitrate_monitor -p 1 -t 1 -O drop

เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฌเดซเดฑเดฟเดจเตเดฑเต† เดˆ เดŸเตเดฏเต‚เดฃเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เด‡เดชเตเดชเต‹เตพ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดค เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเต เดเด•เดฆเต‡เดถเด‚ 100Mbps เด†เดฃเต, CC เดชเดฟเดถเด•เตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ.

tsp เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดคเดจเตเดจเต† CPU เด‰เดชเดญเต‹เด—เด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต. เด’เดฐเต เด•เต‹เตผ i5-4260U CPU @ 1.40GHz, 10Mbps เดซเตเดฒเต‹ เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเต 3-4% CPU, 100Mbps - 25%, 200Mbps - 46% เดŽเดจเตเดจเดฟเดต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. % เดชเดพเด•เตเด•เดฑเตเดฑเต เดจเดทเตเดŸเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเดฟเดชเดฟเดฏเตเดตเดฟเดฒเต† เดฒเต‹เดกเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ (เดชเด•เตเดทเต‡ เด•เตเดฑเดžเตเดžเต‡เด•เตเด•เดพเด‚).

เด•เต‚เดŸเตเดคเตฝ เด‰เตฝเดชเตเดชเดพเดฆเดจเด•เตเดทเดฎเดคเดฏเตเดณเตเดณ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ, เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดคเต† 1Gb / s-เตฝ เด•เต‚เดŸเตเดคเตฝ เดธเตเดŸเตเดฐเต€เดฎเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดธเดพเดงเดฟเดšเตเดšเต.

เดฏเดฅเดพเตผเดคเตเดฅ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เดพเตผเดกเตเด•เดณเดฟเตฝ เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเตเดจเตเดจเต

เด’เดฐเต เดตเต†เดคเตเดคเต เดœเต‹เดกเดฟเดฏเดฟเตฝ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดนเต‹เดธเตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฐเดฃเตเดŸเต เดนเต‹เดธเตเดฑเตเดฑเตเด•เดณเต‹ เดฐเดฃเตเดŸเต เดชเต‹เตผเดŸเตเดŸเตเด•เดณเต‹ เดŽเดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เดชเดฐเดธเตเดชเดฐเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เด’เดจเตเดจเดฟเตฝ เดœเดจเดฑเต‡เดฑเตเดฑเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเตฝ เด…เดจเดฒเตˆเดธเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•. เด‡เดตเดฟเดŸเต† เด†เดถเตเดšเดฐเตเดฏเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด‡เดฐเตเดฎเตเดชเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดฆเตเตผเดฌเดฒเดฎเดพเดฃเต, เด…เดคเต เด‡เดตเดฟเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฃเต.

เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ (Zabbix) เดตเดดเดฟ เดฒเดญเดฟเดšเตเดš เดกเดพเดฑเตเดฑ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

tsp-เดจเต SNMP เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดฎเต†เดทเต€เตป-เดฑเต€เดกเดฌเดฟเตพ API เด‡เดฒเตเดฒ. CC เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดšเตเดฐเตเด™เตเด™เดฟเดฏเดคเต 1 เดธเต†เด•เตเด•เดจเตเดฑเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเดฎเดพเดนเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดฃเด‚ (เดชเดพเด•เตเด•เดฑเตเดฑเต เดจเดทเตเดŸเดคเตเดคเดฟเดจเตเดฑเต† เด‰เดฏเตผเดจเตเดจ เดถเดคเดฎเดพเดจเดคเตเดคเดฟเตฝ, เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดจเต‚เดฑเตเด•เดฃเด•เตเด•เดฟเดจเต/เด†เดฏเดฟเดฐเด™เตเด™เตพ/เดชเดคเดฟเดจเดพเดฏเดฟเดฐเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚).

เด…เดคเดฟเดจเดพเตฝ, เดฐเดฃเตเดŸเต เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดธเดฟเดธเดฟ เดชเดฟเดถเด•เตเด•เตพเด•เตเด•เตเด‚ เดฌเดฟเดฑเตเดฑเตเดฑเต‡เดฑเตเดฑเตเด•เตพเด•เตเด•เตเดฎเดพเดฏเดฟ เด—เตเดฐเดพเดซเตเด•เตพ เดตเดฐเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดšเดฟเดฒ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด…เดชเด•เดŸเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚:

  1. เดŸเต€เดธเตโ€ŒเดชเดฟเดฏเตเดŸเต† เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดคเต เดธเดฎเดพเดนเดฐเดฟเด•เตเด•เตเด• (เดธเดฟเดธเดฟ เดชเตเดฐเด•เดพเดฐเด‚), เด…เดคเดพเดฏเดคเต. เด…เดคเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเต‹เดฎเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•.
  2. tsp เดคเดจเตเดจเต† เด•เต‚เดŸเดพเดคเต†/เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเตผ เดชเตเดฒเด—เดฟเดจเตเด•เตพ bitrate_monitor เด‰เด‚ Continueity เด‰เด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด•, เด…เด™เตเด™เดจเต† เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต เดฎเต†เดทเต€เตป-เดฑเต€เดกเดฌเดฟเตพ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดซเดฒเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚.
  3. tsduck เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดฎเตเด•เดณเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดชเต‡เด•เตเดท เดŽเดดเตเดคเตเด•.

เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚, เดถเตเดฐเดฎเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณ เด“เดชเตเดทเตป 1 เด†เดฃเต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ tsduck เดคเดจเตเดจเต† เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเตเดณเตเดณ (เด†เดงเตเดจเดฟเด• เดจเดฟเดฒเดตเดพเดฐเดฎเดจเตเดธเดฐเดฟเดšเตเดšเต) เดญเดพเดทเดฏเดฟเตฝ (C ++) เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ.

เดฌเดพเดทเดฟเดฒเต† เด’เดฐเต เดชเดพเตผเดธเตผ + เด…เด—เตเดฐเด—เต‡เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเต 10 Mbit/s เด’เดดเตเด•เตเด•เดฟเดฒเตเด‚ 50% เดชเดพเด•เตเด•เดฑเตเดฑเต เดจเดทเตเดŸเดคเตเดคเดฟเดฒเตเด‚ (เดเดฑเตเดฑเดตเตเด‚ เดฎเต‹เดถเด‚ เด…เดตเดธเตเดฅเดฏเดฟเตฝ), เดฌเดพเดทเต เดชเตเดฐเต‹เดธเดธเตเดธเต tsp เดชเตเดฐเต‹เดธเดธเตเดธเดฟเดจเต‡เด•เตเด•เดพเตพ 3-4 เดฎเดŸเด™เตเด™เต CPU เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเด‚ เด…เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฃเต. เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดˆ เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เด‚ เดคเดพเดดเต† เด•เตŠเดŸเตเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดฎเตเด•เดณเดฟเตฝ เดจเต‚เดกเดฟเตฝเดธเต

#!/usr/bin/env bash

missingPackets=0
ccErrorSeconds=0
regexMissPackets='^* (.+) - continuity:.*missing ([0-9]+) packets$'
missingPacketsTime=""

ip netns exec P tsp --realtime -t -I ip -b 8388608 "239.0.0.1:1234" -O drop -P bitrate_monitor -p 1 -t 1  -P continuity 2>&1 | 
while read i
do
    #line example:* 2019/12/28 23:41:14 - continuity: packet index: 6,078, PID: 0x0100, missing 5 packets
    #line example 2: * 2019/12/28 23:55:11 - bitrate_monitor: 2019/12/28 23:55:11, TS bitrate: 4,272,864 bits/s
    if [[ "$i" == *continuity:* ]] 
    then
        if [[ "$i" =~ $regexMissPackets ]]
        then
            missingPacketsTimeNew="${BASH_REMATCH[1]}" #timestamp (seconds)
            if [[ "$missingPacketsTime" != "$missingPacketsTimeNew" ]] #new second with CC error
            then
                ((ccErrorSeconds += 1))
            fi
            missingPacketsTime=$missingPacketsTimeNew
            packets=${BASH_REMATCH[2]} #TS missing packets
            ((missingPackets += packets))
        fi
    elif [[ "$i" == *bitrate_monitor:* ]]
    then
        : #...
    fi
done

เด…เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดตเต‡เด—เดคเดฏเตเด•เตเด•เต เดชเตเดฑเดฎเต‡, เดฌเดพเดทเดฟเตฝ เดธเดพเดงเดพเดฐเดฃ เดคเตเดฐเต†เดกเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ, เดฌเดพเดทเต เดœเต‹เดฒเดฟเด•เตพ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดธเตˆเดกเต เด‡เดซเด•เตเดฑเตเดฑเดฟเตฝ (เด“เดฐเต‹ เดธเต†เด•เตเด•เตปเดกเดฟเดฒเตเด‚ เดตเดฐเตเดจเตเดจ เดฌเดฟเดฑเตเดฑเตโ€Œเดฑเต‡เดฑเตเดฑเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดฒเดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ) เดฎเดฟเดธเตเดธเดฟเด‚เด—เต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด’เดฐเดฟเด•เตเด•เตฝ เดŽเดดเตเดคเต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดฌเดพเดทเต เดคเดจเดฟเดšเตเดšเดพเดฏเดฟ, เด—เต‹เดฒเดพเด‚เด—เดฟเตฝ เด’เดฐเต เดฑเดพเดชเตเดชเตผ (เดชเดพเดดเตเดธเตผ + เด…เด—เตเดฐเด—เต‡เดฑเตเดฑเตผ) เดŽเดดเตเดคเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดธเดฎเดพเดจเดฎเดพเดฏ เด—เต‹เดฒเดพเด‚เด—เต เด•เต‹เดกเดฟเดจเตเดฑเต† CPU เด‰เดชเดญเต‹เด—เด‚ tsp เดชเตเดฐเต‹เดธเดธเตเดธเดฟเดจเต‡เด•เตเด•เดพเตพ 4-5 เดฎเดŸเด™เตเด™เต เด•เตเดฑเดตเดพเดฃเต. เดฌเดพเดทเดฟเดจเต† เด—เต‹เดฒเดพเด™เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดšเตเดšเดคเดฟเดจเดพเตฝ เดฑเดพเดชเตเดชเดฑเดฟเดจเตเดฑเต† เดตเต‡เด—เดค เดเด•เดฆเต‡เดถเด‚ 16 เดฎเดŸเด™เตเด™เดพเดฏเดฟ เดฎเดพเดฑเดฟ, เดชเตŠเดคเตเดตเต‡ เดซเดฒเด‚ เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฃเต (เดเดฑเตเดฑเดตเตเด‚ เดฎเต‹เดถเดฎเดพเดฏ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดธเดฟเดชเดฟเดฏเต เด“เดตเตผเดนเต†เดกเต 25%). golang เด‰เดฑเดตเดฟเดŸ เดซเดฏเตฝ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต เด‡เดตเดฟเดŸเต†.

เดฑเดพเดชเตเดชเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดฑเดพเดชเตเดชเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, systemd เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเต‡เดตเดจ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต (เด‡เดตเดฟเดŸเต†). เดฑเดพเดชเตเดชเตผ เดคเดจเตเดจเต† /opt/tsduck-stat/-เตฝ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต (go build tsduck-stat.go) เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดพเดฃเต. เดฎเต‹เดฃเต‹เดŸเต‹เดฃเดฟเด•เต เด•เตเดฒเต‹เด•เตเด•เดฟเดจเตเดณเตเดณ เดชเดฟเดจเตเดคเตเดฃเดฏเต‹เดŸเต†เดฏเดพเดฃเต เดจเดฟเด™เตเด™เตพ golang เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต (>=1.9).

เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ systemctl enable เด•เดฎเดพเตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต [เด‡เดฎเต†เดฏเดฟเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต]:1234 เดคเตเดŸเตผเดจเตเดจเต systemctl เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• [เด‡เดฎเต†เดฏเดฟเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต]: 1234.

Zabbix-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ

เด…เดคเดฟเดฒเต‚เดŸเต† เดธเดฌเดฟเด•เตเดธเดฟเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚, เด—เตเดฐเต‚เดชเตเดชเต เดฒเดฟเดธเตเดฑเตเดฑเต เดœเดจเดฑเต‡เดฑเตเดฑเตผ (discovery.sh), Zabbix เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเดคเตเดคเดคเตเดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ, เด…เดคเต เด’เดฐเต‡ เดธเตเดฅเดฒเดคเตเดคเดพเดฃเต - /opt/tsduck-stat-เตฝ เดธเตเดฅเดฟเดคเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. zabbix-agent เดตเดดเดฟ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป, เดจเดฟเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต .conf เดซเดฏเตฝ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต zabbix-เดเดœเดจเตเดฑเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต.

Zabbix เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต

เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต (tsduck_stat_template.xml) เด“เดŸเตเดŸเต‹เดกเดฟเดธเตโ€Œเด•เดตเตผ เดฑเต‚เตพ, เด‡เดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเตเด•เตพ, เด—เตเดฐเดพเดซเตเด•เตพ, เดŸเตเดฐเดฟเด—เดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดšเต†เด•เตเด•เตโ€Œเดฒเดฟเดธเตเดฑเตเดฑเต (เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเดพเตฝ เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเตเด‚)

  1. "เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ" เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ (เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด‚ เด…เดจเดฒเตˆเดธเดฑเตเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต) tsp เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดกเตเดฐเต‹เดชเตเดชเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด•, เดกเตเดฐเต‹เดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดชเต‹เดฏเดฟเดจเตเดฑเต 2 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดˆ เดตเดฟเดทเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเดพเดšเด•เด‚ เด•เดพเดฃเตเด•.
  2. เดชเดฐเดฎเดพเดตเดงเดฟ เดธเต‹เด•เตเด•เดฑเตเดฑเต เดฌเดซเตผ เดŸเตเดฏเต‚เตบ เดšเต†เดฏเตเดฏเตเด• (net.core.rmem_max=8388608).
  3. tsduck-stat.go (tsduck-stat.go เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•) เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเด•.
  4. /lib/systemd/system เดŽเดจเตเดจเดคเดฟเตฝ เดธเต‡เดตเดจ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เด‡เดŸเตเด•.
  5. systemctl เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต‡เดตเดจเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•, เด•เต—เดฃเตเดŸเดฑเตเด•เตพ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเดพเตป เดคเตเดŸเด™เตเด™เดฟเดฏเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด• (grep "" /dev/shm/tsduck-stat/*). เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เดฎเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚. เด‡เดตเดฟเดŸเต† เดจเดฟเด™เตเด™เตพ เดฎเตพเดŸเตเดŸเดฟเด•เดพเดธเตเดฑเตเดฑเต เด—เตเดฐเต‚เดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เดฑเต‚เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด’เดฐเตเดชเด•เตเดทเต‡ rp_filter เด…เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดฑเดตเดฟเดŸ ip-เดฒเต‡เด•เตเด•เต เด’เดฐเต เดฑเต‚เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•.
  6. Discovery.sh เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•, เด…เดคเต json เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด•.
  7. zabbix เดเดœเดจเตเดฑเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดšเต‡เตผเด•เตเด•เตเด•, zabbix เดเดœเดจเตเดฑเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•.
  8. zabbix-เดฒเต‡เด•เตเด•เต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•, เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดจเดŸเดคเตเดคเตเด•เดฏเตเด‚ zabbix-เดเดœเดจเตเดฑเต เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด‡เดคเต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเด•, เดเด•เดฆเต‡เดถเด‚ 5 เดฎเดฟเดจเดฟเดฑเตเดฑเต เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•, เดชเตเดคเดฟเดฏ เดกเดพเดฑเตเดฑ เด˜เดŸเด•เด™เตเด™เดณเตเด‚ เด—เตเดฐเดพเดซเตเด•เดณเตเด‚ เดŸเตเดฐเดฟเด—เดฑเตเด•เดณเตเด‚ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฏเดฟ เด•เดพเดฃเตเด•.

เดซเดฒเด‚

IP(TS) เดซเตเดฒเต‹เด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป TSDuck เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต

เดชเดพเด•เตเด•เดฑเตเดฑเต เดจเดทเตเดŸเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดšเตเดฎเดคเดฒเดฏเตเด•เตเด•เต, เด‡เดคเต เดเดคเดพเดฃเตเดŸเต เดฎเดคเดฟเดฏเดพเด•เตเด‚, เด•เตเดฑเดžเตเดžเดชเด•เตเดทเด‚ เด‡เดคเต เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เด‡เดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดจเดฒเตเดฒเดคเดพเดฃเต.

เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดตเต€เดกเดฟเดฏเต‹ เดถเด•เดฒเด™เตเด™เตพ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเดฟเดธเดฟ โ€œเดจเดทเตเดŸเด‚โ€ เดธเด‚เดญเดตเดฟเด•เตเด•เดพเด‚ (เดŽเดจเดฟเด•เตเด•เดฑเดฟเดฏเดพเดตเตเดจเตเดจเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดฑเดทเตเดฏเตป เดซเต†เดกเดฑเต‡เดทเดจเดฟเดฒเต† เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดŸเต†เดฒเดฟเดตเดฟเดทเตป เด•เต‡เดจเตเดฆเตเดฐเด™เตเด™เดณเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฒเตเด•เตพ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต, เด…เดคเดพเดฏเดคเต เดธเดฟเดธเดฟ เด•เต—เดฃเตเดŸเตผ เดตเต€เดฃเตเดŸเตเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเดคเต†), เด‡เดคเต เด“เตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เด•เตเดคเตเดคเด• เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเดฟเตฝ, SCTE-35 เดŸเดพเด—เตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดˆ เดชเตเดฐเดถเตเดจเด‚ เดญเดพเด—เดฟเด•เดฎเดพเดฏเดฟ เดฎเดฑเดฟเด•เดŸเด•เตเด•เตเดจเตเดจเต (เด…เดต เดธเตเดŸเตเดฐเต€เด‚ เดœเดจเดฑเต‡เดฑเตเดฑเตผ เดšเต‡เตผเดคเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ).

เด—เดคเดพเด—เดค เด—เตเดฃเดจเดฟเดฒเดตเดพเดฐ เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดœเดฟเดฑเตเดฑเตผ เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เดฟเดจเตเดฑเต† (เดเดŽเดŸเดฟ) เด…เดญเดพเดตเดฎเตเดฃเตเดŸเต. เดŸเดฟเดตเดฟ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพเด•เตเด•เต (เด…เดคเต เดฎเต‹เดกเตเดฒเต‡เดฑเตเดฑเดฑเตเด•เดณเต‹ เด…เดตเดธเดพเดจ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเต‹ เด†เด•เดŸเตเดŸเต†) เดˆ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดฟเดจเต เด†เดตเดถเตเดฏเด•เดคเด•เดณเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เดœเดฟเดฑเตเดฑเตเดฌเดซเดฑเดฟเดจเต† เด…เดจเดจเตเดคเดคเดฏเดฟเดฒเต‡เด•เตเด•เต เด‰เดฏเตผเดคเตเดคเตเดจเตเดจเดคเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ. เดตเดฒเดฟเดฏ เดฌเดซเดฑเตเด•เดณเตเดณเตเดณ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เดŸเตเดฐเดพเตปเดธเดฟเดฑเตเดฑเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ QoS เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดคเดคเตเดธเดฎเดฏ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด•เตพ เด•เตˆเดฎเดพเดฑเดพเตป เดตเต‡เดฃเตเดŸเดคเตเดฐ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดตเดฟเดฑเดฏเตฝ เดชเตŠเด™เตเด™เดฟเด•เตเด•เดฟเดŸเด•เตเด•เตเด‚.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•