vma
Regular Member
- My Satellite Setup
- Main dish: 120cm No-Name, Motek SG-2100A, Bullseye LNB
- My Location
- Portugal
Hello everyone,
I’ve just published a new specialist tool:
VMA StreamReader CLI
https://vma-broadcast.com/wp-content/uploads/2025/04/VMA StreamReader CLI - 20260226.zip
(The link may change once I add it officially to the Download page and start refining it.)
Every exported function from streamreader.dll can be called directly from the command line.
Additionally, I added one extra helper function:
which forwards the TS to UDP.
It follows the philosophy of tools like FFmpeg or TSduck.
You interact directly with the DLL.
This allows:
It lists all available commands:
Example:
No GUI logic. No constraints. Just DLL-level interaction.
CPU usage is extremely low.
It works well as a minimal TS forwarder.
I’ve just published a new specialist tool:
VMA StreamReader CLI
https://vma-broadcast.com/wp-content/uploads/2025/04/VMA StreamReader CLI - 20260226.zip
(The link may change once I add it officially to the Download page and start refining it.)
First of all
This tool is dedicated to our dear CrazyCat — I sincerely hope he is alive, well, and still pushing RF boundaries somewhere.What is VMA StreamReader CLI?
It is a 1:1 command-line frontend for streamreader.dll.Every exported function from streamreader.dll can be called directly from the command line.
Additionally, I added one extra helper function:
Stream(UDP,ip,port)which forwards the TS to UDP.
It follows the philosophy of tools like FFmpeg or TSduck.
What does it enable?
It provides direct, unfiltered access to streamreader.dll — without CrazyScan, EBSpro, IQmonitor, VMA Stream Reader or other UI constraints.You interact directly with the DLL.
This allows:
- Manual tuning experiments
- LOF / LOFSW boundary testing
- Raw RFScan / BlindScan experimentation
- Direct capability verification
- Comparing behavior across different DLL versions
- Very lightweight TS streaming
- Automated batch experiments
Usage
If you run it without arguments:streamreaderIt lists all available commands:
Code:
---------------------------------------------------
****** CrazyScan StreamReader CLI - 20260226 ******
---------------------------------------------------
(C) 2026 VMA-Broadcast - VMA Broadcast
---------------------------------------------------
Available commands:
ListTuners()
CheckForDVB()
CheckForDVBExEx()
StartDVBEx(index)
StopDVB()
SendDiSEqC(type,data)
SendDiseqCmd(byte1,byte2,...)
SendDiseqCmdEx(byte1,byte2,...)
SetPol(pol)
SetChannel(freq,sr,pol,fec,lof1,lof2,lofsw)
SetChannelEx(freq,sr,pol,fec,lof1,lof2,lofsw,mod)
SetChannelExEx(freq,sr,pol,mod,lof1,lof2,lofsw,std,pls_mode,pls_code,mis)
SetChannel2(freq,sr)
SetChannel2Ex(freq,sr,pol,mod)
SetChannel2ExEx(freq,sr,pol,fec,mod)
RFScan(freq,pol,lof1,lof2,lofsw)
BLScan(freq,range,pol,lof1,lof2,lofsw,minsr)
BLScanEx(freq,range,pol,lof1,lof2,lofsw,minsr,std)
BLScan2(freq_start,freq_stop,pol,lof1,lof2,lofsw)
AirScan(freq_start,freq_stop,step,bw,std)
SignalInfo()
SignalInfo2()
GetSignal()
GetSignalEx()
GetSignalExEx()
GetSignalStrength()
Statistic()
FFTInit()
FFTScan(freq,pol,lof1,lof2,lofsw,range,mode,acc)
FFTTerm()
IQScan(input,count)
IQScan2(input,count)
CIRScan(hiRes)
SetFilterRaw(pid)
DelFilter(filterNum)
SetBBFilter(is)
GetMAC()
GetCaps()
GetTunerType()
GetEEPROM(offset,length)
SetEEPROM(offset,byte1,byte2,...)
PLSSel(mode,code)
MISSel(enable,filter,mask)
ModSel(mod,pilot,frame,...)
ModInv(waitMs)
Stream(UDP,ip,port)
Example:
streamreader StartDVBEx(1) BLScan(11401000,30000,1,9750000,10600000,11700000,1000) Stream(UDP,239.1.1.1,1234)
You can concatenate commands:
streamreader StartDVBEx(1) BLScan(11401000,30000,1,9750000,10600000,11700000,1000) Stream(UDP,239.1.1.1,1234)
Argument validation
If you provide incorrect arguments, it tells you exactly what is required:
Code:
streamreader StartDVBEx(1) RFScan()
Error: RFScan(freq,pol,lof1,lof2,lofsw) requires 5 arguments
Example:
Code:
streamreader StartDVBEx(1) RFScan(10891000,0,9750000,10600000,11700000)
RFLevel=-50
Practical Applications
Hardcore DX Testing
You can now:- Replace streamreader.dll with custom versions
- Modify streamreader.ini
- Test LOF / LOFSW bending tricks
- Validate driver behavior across versions
- Compare tuning sensitivity without GUI interference
Code:
streamreader StartDVBEx(1) RFScan(11725000,0,9750000,10800000,11750000)
No GUI logic. No constraints. Just DLL-level interaction.
Lightweight TS Streaming
If your interest is the transport stream only, not the RF analysis:
Code:
streamreader StartDVBEx(9) BLScanEx(10891000,30000,0,9750000,10600000,11700000,1000000,0) Stream(UDP,127.0.0.1,1234)
It works well as a minimal TS forwarder.
Important Notes
- 100% free
- Not part of VMA Video Analyser Package
- Fully standalone
- No DRM
- Pure utility tool
Feedback Welcome
I am very interested in feedback from:- DXers
- Blindscan experimenters
- Anyone comparing different streamreader builds
- Anyone pushing unusual LOF configurations
- Anyone testing MIS / PLS / S2X behaviors
Examples
Last edited:













