This is my test w_scan_cpp repo. No pull requests/issues/bugs here, use contact given in README.
For further details on w_scan_cpp, see it's Homepage.
This one is my workbench only.
w_scan_cpp - test repo. No issues/pull requests here, for latest Version, see it's Homepage, https://www.gen2vdr.de/wirbel/w_scan_cpp/index2.html.
Home Page: https://www.gen2vdr.de/wirbel/w_scan_cpp/index2.html
License: GNU General Public License v2.0
This is my test w_scan_cpp repo. No pull requests/issues/bugs here, use contact given in README.
For further details on w_scan_cpp, see it's Homepage.
This one is my workbench only.
I write here because I see this "warning" compiling the main branch of the "w_scan_cpp" tool. However this affects the "vdr-plugin-satip", but the https://github.com/wirbel-at-vdr-portal/vdr-plugin-satip repository doesn't have open the issues section. And for this reason I post here (parhaps you'll want to open it on this repo):
-e CXX /home/user/w_scan_cpp/vdr/PLUGINS/src/satip/sectionfilter.o
/home/user/w_scan_cpp/vdr/PLUGINS/src/satip/satip.c: In member function ‘virtual cString cPluginSatip::SVDRPCommand(const char*, const char*, int&)’:
/home/user/w_scan_cpp/vdr/PLUGINS/src/satip/satip.c:528:52: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 2 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=]
528 | return cString::sprintf("SATIP device count: %u", cSatipDevice::Count());
| ~^ ~~~~~~~~~~~~~~~~~~~~~
| | |
| unsigned int size_t {aka long unsigned int}
| %lu
So, I suggest this fix:
diff --git a/satip.c b/satip.c
index 101f84d..e534609 100644
--- a/satip.c
+++ b/satip.c
@@ -525,7 +525,7 @@ cString cPluginSatip::SVDRPCommand(const char *commandP, const char *optionP, in
return cSatipDevice::GetSatipStatus();
}
else if (strcasecmp(commandP, "CONT") == 0) {
- return cString::sprintf("SATIP device count: %u", cSatipDevice::Count());
+ return cString::sprintf("SATIP device count: %lu", (unsigned long)cSatipDevice::Count());
}
else if (strcasecmp(commandP, "OPER") == 0) {
cString mode;
What you think?
I detected that with the --satip-server
parameter the parameter -D
to select the DiseqC LNB doesn't work. The tool every time requests the SETUP command with ?src=1
regardless of the -D
value used.
When using SAT>IP tuners the output file includes some debug header with tuner messages. Example:
./w_scan_cpp -ft -c DE --satip --satip-server '192.168.1.44:554|DVBT2-1|MySvr:0x08' -V > ./scan.m3u
Then at the start of the scan.m3u
file you will get:
SATIP: Adding server '192.168.1.44|DVBT2-1|MySvr' Bind: default Filters: none CI: no Quirks: RtpOverTcp
SATIP: Creating device CardIndex=0 DeviceNumber=0 [device 0]
SATIP: Creating device CardIndex=1 DeviceNumber=1 [device 1]
SATIP: Detected 1 RTP packet error [device 0]
SATIP: Detected 16 RTP packet errors [device 0]
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" xmlns:vlc="http://www.videolan.org/vlc/playlist/ns/0/">
<title>DVB Playlist</title>
<creator>w_scan_cpp</creator>
<info>https://gen2vdr.de/wirbel/w_scan_cpp/index2.html</info>
<trackList>
[...]
So please remove these SATIP
lines from the beginning.
Thank you.
I've a trouble with multiple SAT>IP servers in my home network. The current implementation is auto-detecting all SAT>IP servers in the LAN network. However, my assumption is that when using the command w_scan_cpp --satip-server 'myserver'
only this server will be in use. But this assumption is false. The parameter --satip-server
only adds the server to the list. And the tool will use any of the severs found. The problem is when the SAT>IP servers are different and we need to use just one.
Any idea (or suggestion) to overcome this trouble?
Thank you.
I'm using different SAT>IP DVB-T/T2 tuners in different countries. When the signal is DVB-T2 the tool works as expected. However, when scanning DVB-T only networks the program fails because it wants to tune DVB-T2 only. Any option to enforce using DVB-T only?
Note: The problem is that it first scans DVB-T2, and don't find anything, and after it wants to scan DVB-T. But this is a waste of time. The request is to scan DVB-T only disabling the first DVB-T2 scanning.
When using at the same time the parameters "--satip-src" and "--output-VLC-satip", the output value of the src=
is incorrect. It's always "1", instead of the corresponding X used in "--satip-src X".
And another question is how to achieve that all pids are included in the
pids=
list when using "--output-VLC-satip". In this case, some pids, like the CA PID are missing. It will be desirable to have an option to add all the pids associated to the service in the list.
Regards.
Inside the XML output the address of the DTD is missing:
<?xml version="1.0" ?>
<!DOCTYPE service_list SYSTEM "https://gen2vdr.de/wirbel/w_scan/dtd/service_list.dtd">
<!-- NOTE:
if reading or writing w_scan XML file format:
- please validate XML against DTD above.
- indent each XML element
- indent using three spaces, don't use <TAB> char to indent.
- conform to requirements mentionend in DTD file.
-->
Therefore, I recommend that you add the DTD file to the project source. And if you consider it acceptable, change the URL to the Github raw address. With this change the file will continue to be valid in the future.
And to improve the compatibility, remove the last space in the first line. It will be preferable to use: <?xml version="1.0"?>
Regards.
I tried to use a specific character set via the parameter -C or --charset and neither seem to work. I always get the same message:
/*******************************************************************************
cannot understand '--charset'
Error reading command line arguments. Exit!
This is referenced initially in #15, but it's a different question. So, I open a new bug report:
Original comment:
And another question is how to achieve that all pids are included in the pids= list when using "--output-VLC-satip". In this case, some pids, like the CA PID are missing. It will be desirable to have an option to add all the pids associated to the service in the list.
The problem is that with services with multiple audios, the pid list only includes the first audio track. Futhermore, subtitle pids aren't included. The same for CA pids. And other "non-detected" pids inside the PMT table.
I suggest, to almost fix the code of PrintVLCsatip()
to include all the pids detected in the lists APIDs
and DPIDs
:
Lines 1195 to 1196 in a7bface
After that you perhaps wants to add the CA pids. And refactor the wirbelscan to include all the pids inside the PMT.
Regards.
Any reason to not support multiple file outputs at the same time? The scanning time is long (between 10~20min.) and when doing some tests it will be useful to export in multiple formats. For example, I want to get XML, VLC-satip and DVB-Viewer at the same time.
Any idea to achieve this?
Thank you.
Antoher bug to fix:
NIT: WRONG SATELLITE:
. The cause could be an incorrect calculus because code in the statemachine.cpp
of the "wirbelscan" plugin. Here the code with the problem patched: std::string is_wrong;
//if (abs(NitData.transport_streams[i]->OrbitalPos - initial->OrbitalPos) > 5)
if (abs(NitData.transport_streams[i]->OrbitalPos) - initial->OrbitalPos > 5)
is_wrong = "WRONG SATELLITE ( " + IntToStr(initial->OrbitalPos) + " | " + IntToStr(NitData.transport_streams[i]->OrbitalPos) + " ): ";
dlog(0, "NIT: " + is_wrong + "'" + s + "'" +
", NID = " + IntToStr(NitData.transport_streams[i]->NID) +
", ONID = " + IntToStr(NitData.transport_streams[i]->ONID) +
", TID = " + IntToStr(NitData.transport_streams[i]->TID));
As you can see the problem is the incorrect bracket of the abs()
function. In some cases the value of the NitData.transport_streams[i]->OrbitalPos
is negative but identical to the value initial->OrbitalPos
. Therefore what you want to do is get the ABS of the first operand and after compare the offset. Or perhaps you want to ABS both operands and check the difference. In any case I've added the log to print both values to be more easy to understand the problem.
I hope you want to fix this trouble.
Regards.
This bug is related to the wirbelscan
plugin:
MC EU;MB Satellite:11075:VC34M5O25P0S1:S13.0E:30000:2010=27:2020=0xDBxFFx8C@3:0:0:3720:318:12800:0
Please, could you fix this error?
Thank you.
This is related to #17 , but I prefer to open a new issue to discuss about this specific question. Here the description of the problem:
Therefore, I have some ideas to improve this behaviour. And I want to commet with you:
I'm only suggesting that you expose your opinion. The reason is to not implement anything non-usable/non-acceptable.
Please comment.
Thank you.
I'm trying to use w_scan_cpp with a satip server to get a list of channels available through Hispasat. I have it running successfully, but it does not pick up all the channels. I think the issue is that the list of transponders might be incomplete. Does your project use the ones listed in /usr/share/dvb/dvb-s/Hispasat-30.0W or is it from a different list?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.