Set the cut path properly when a non-default output path is specified
[atscap.git] / atscap.FEATURES
blobc720f5ada908edee4f6495c62dabc4d5f1ffc7ad
1                               atscap.FEATURES
2                                 Version 1.1
3                               August 12, 2007
4                           (c) Copyright 2004-2007
5                                     by
6                               !org!nop!inkling
10 DISCLAIMERS
12         This software is currently released under the GNU GPL Version 2.
14         You use the programs in this software distribution AT YOUR OWN RISK.
16         There is NO WARRANTY FOR ANY OF THE SOFTWARE in this distribution.
18         ALL OF THE FEATURES LISTED HERE ARE SUBJECT TO CHANGE WITHOUT NOTICE.
21 PROGRAMS INCLUDED IN THIS PACKAGE:
23         atscap          A Transport Stream capture application, console tool
25         atscut          A Transport Stream container utility, console tool
27         xtscut          X Transport Stream Cut Generator, X11 Xlib tool
29         xsig            X Signal Strength versus Time chart, X11 Xlib tool
33 FEATURES SUPPORTED:
35 @ ! % $    SEE BELOW
36 *          NEW
38 =============================================================================
39                                 atscap
40 =============================================================================
42 o   ATSC Transport Stream Capture Application Program
44     o   VT Console application with optional web server interface
46     o   Built-in HTTP 1.1 server (-w option):
47         * Validated HTML output against W3C HTML 4.01 Transitional.
48         * Most HTML 3.2 capable browsers should also work in non CSS mode
49         * No Apache, Java, Javascript, SQL, PHP, Perl or Cookies required.
50         $ Tested with Mozilla, Firefox and Internet Exploder.
51         * Indicators for editing status of .tsx and .tsc files
52         * Signal metering with average for last 50 valid samples, see -x.
53         * Cut directory support for faster cutting on multi-drive systems.
54         * Users can view and select events from standard HTML program guide.
55         * TCP wrapper emulation limits access to known hosts via hosts.allow.
56         * Navigation between multiple instances for multiple ATSC DVB users.
57         * KeepAlive for HTTP 1.0 and equivalent for HTTP 1.1.
58         * Launch xtscut from mozilla with small config tweak and bash script.
59         * Launch player from mozilla with small config tweak and bash script.
60         * Dynamic HTML EPG handles 16 days of ATSC programming per station.
61         * EPG filter toggles listing of aged, spam, and search/timer matches.
62         * User can supply custom images for favorite stations and events.
63         * Timer, search and spam event add/remove by individual event.
64         * Capture directory viewable from web interface.
65         * Capture log viewable from web interface.
66         * Auto-EPG add/remove for each station.
69     o   ATSC and MPEG stream info packets and headers are fully processed:
70         * Current ATSC and MPEG statistics available via HTTP web server
71         *! ATSC System Time configuable by one channel for local timekeeping.
72         . User or timer selectable Virtual Channel capture with main audio.
73         . MPEG-only stations supported, as well as MPEG-only fallback.
74         . Version checking on ATSC and MPEG packets to reduce processing.
75         . CRC32 checking on ATSC and MPEG tables received for QoS.
76         . Quality of Service computed from ATSC and MPEG CRC32 errors.
77         . Scrollable Master Guide Table has status on each PSIP table type.
78         . Scrollable Virtual Channel Table has Channel and descriptor details.
79         . Scrollable Program Guide supports up to 6144 events on 8 VCs per PTC.
80         . Scrollable Capture Log has status for current or last capture.
81         . Capture as full ATSC stream or MPEG single program stream.
84     o   Program Guide extracted from ATSC PSIP for automatic and user interaction:
85         * Automatic Program Guide: reloads to keep Program Guides current.
86         * Automatic event scheduling by name only. Searches and captures.
87         * Automatic events can be filtered by channel or weekdays.
88         * Automatic spam filtering removes events from program guide.
89         . Adding/deleting a range of event timers is supported.
90         . Timer or manual capture automatically updates station program guide.
91         . Program guides shared between multiple instances so any can update.
92         . Scroll events and descriptions with arrows, page up/dn.
93         . Program event list limit toggles for hidden and aged out events.
94         . Program event list limit toggle for matching timer name.
95         . Program event list sortable by program number, time or name.
96         . Add programs from program guide to timer list.
97         . Program timers can be volatile or be recurring with weekday bits.
98         . Program timer name is abbreviated to first 2 uncommon words.
99         . Rating and closed caption indication in event description.
100         . 36 hotkeys [0-9/A-Z] paginates up to 36 pages of current term size.
103     o   Multiple DVB device support:
104         * DVB API is now fully supported: for possibly any ATSC DTV card!
105         * Web interface supports multiple servers and navigation for each.
106         * Tested wtih DVB API for DViCo Fusion 5, PCI and USB versions.
107         * Tested with DVB API for pchdtv.com HD2000 and HD3000 PCI.
108         * Falls back to SNR or lock if strength function not implemented.
109         * Search events are movable between instances, with matching timers.
110         . User can manually move timers to card with best reception.
111         . Separate configurations for each card.
114     o   Multiple channel signal strength meters:
115         * Web interface supports scan station signal strength PNG charts.
116         * Web interface supports single station signal strengh PNG chart.
117         . Scan/setup option -S to build a config with available channels.
118         . Signal strength logging, peak detection and signal log reset.
119         . Signal strength scanner for multi-channel or lock a single channel.
120         . Hotkeys [1-9/A-Z] for channel/signal scan for up to 35 stations.
123     o   Stream capture with all or subset of available streams:
124         * VC cap frame/sequences use less memory than previous versions.
125         * Dynamic memory usage for capture reduces non-capture memory usage.
126         * FIFO strategy changed to reduce ext2/3 large file delete dropouts.
127         . Multi-threaded with mutexes to reduce dropouts due to blocked I/O.
128         . 80 Mbit FIFO further reduces stream dropout under heavy load.
129         . Persistent VC selection for each channel, with timer override.
130         . Stream monitor for full stream Quality of Service in real-time.
131         . Signal strength status logged at start of capture.
132         . Manual or timer initiated capture of streams to files.
133         . SCHED_FIFO policy for Linux kernel 2.6.x reduces capture glitching.
134         . User can set threshold for Quality of Service to abort capture.
135         . Very low CPU usage during capture: can playback while capturing:
136           IF: your machine is >= 1.6Gz with decent software (i.e. not winloser)
137           SAD: Even after 3 years, an updated winloser still can't play HDTV.
139     o   Manual control via console or automatic via config file:
140         * Automatic EPG update is properly limited to 3hr meridians.
141         * Idle memory usage is 1/4 memory compared to previous versions.
142         * EPG update uses less memory compared to previous versions.
143         * Automatic or manual update of any or all Event Program Guides.
144         . Secondary audio selection from Virtual Channel Table
145         . Detachable console via GNU screen, survives X restarts!
146         . Move timers between multiple instances for multi-card users
147         . Automatic reload of config file when config file modified.
148         . Specify program number in timer name for smaller captures.
149         . More console UI keys work during capture for EPG timer control.
150         . Timers update when configuration changes during capture.
151         . Manually ignore timers for programs that run over time limit.
152         . Add instant, daily or weekly timers, sorted by timer date.
153         . Reschedule/remove running timer, or delete any timer from the list.
154         . Overwrite or create new stream files by name, weekday and/or date.
155         % Daylight Savings Time clock changes handled at change-over.
158     o   Scripted control via command line interface:
159         . Capture control at one second resolution.
160         . Selectable input device, output file and configuration.
161         . Detachable from console to prevent calling scripts from waiting.
162         . Quiet mode uses no stdio for calling scripts that want to wait.
163         . Log option increases verbosity.
166     o   Things that make it a little bit nicer:
167         * Compile options to use GNU backtrace for crash reporting.
168         * -E energy save option to use tmpfs and allow hard drive spin down.
169         * -N option pads NULLs for constant bitrate with Roku HD1000/similar.
170         * -m option to generate frame data for xtscut to use for cutting.
171         * As many timers as you want. Adjust TIMER_LIST_MAX to your needs.
172         * As many searches as you want. Adjust SEARCH_LIST_MAX to your needs.
173         * As many filters as you want. Adjust SPAM_LIST_MAX to your needs.
174         * capture log file has full capture status with packet error counts.
175         * GNU screen can be executed to support de/re-attachable sessions.
176         * -r option enables DEMO/simulation mode to replay a captured file.
177         *%! Z config line synchronizes to one station's ATSC System Time.
178         . SMP support: HT and dual CPU SMP tested, even down to dual P2/350.
179         . Compile option for SSH to use fewers colors for remote sessions.
180         . Optimized to reduce bandwidth for interactive SSH display updates.
181         . ECMA48 colors and VT cursor addressing for interactive console.
182         . Streaming to a file allows fast forward/rewind in most media player.
183         . Timer space usage, free space available and system + ATSC clocks.
184         . Built-in help system, type ? to see it, at almost any time.
186 NOTES:
188 @ optional tiled EPG requires CSS and changing browser font size
189 $ Pipelining doesn't work yet. HTTP 1.0 or 1.1 w/ or w/o KeepAlive works.
190 % Beware the DST changeover days will confuse timers at 1am or 2am.
191 ! Beware this can cause all kinds of mysterious system clock issues,
192     from screensavers kicking in early to gcc "in the future" errors.
193     at least until the stations start using synchronized time sources.
196 ==============================================================================
197                                 atscut
198 ==============================================================================
200 o   ATSC Transport Stream Container UTility
202     o   Console application
204     o   Analyzes the stream for tables and errors:
205         * Can analyze output from some MPEG TS camcorders
206         * -s Frame and Sequence dump performance is 10x previous version
207         . Generates Frame and Sequence files for xtscut
208         . Generates counts of packet types and any errors detected
209         . Can specify extract by PIDs:
210             Individual PID, multiple PIDs or Master Guide Table group PIDs
211         . Payload/Table assembly monitor
213     o   Fully detailed ATSC PSIP Table dumps:
214         . Master Guide Table
215         . Virtual Channel Table
216         . Event Information Table
217         . Extended Text Table
218         . Supports Huffman Title and Description decode.
219         . Program Guide as organized list at end.
222     o   Partially detailed MPEG2 Table dumps:
223         . Program Association Table
224         . Program Map Table with Descriptors
225         . MPEG2 headers down to start of slice macroblocks
227 ==============================================================================
228                                 xtscut
229 ==============================================================================
232 o   X ATSC Transport Stream Cutting UTility
234     o   X via libX11, libImlib and libmpeg2. No gnome/gtk/kde/qt required.
235         * Can edit streams from some MPEG TS camcorders if atscut -s works
236         * Audio processing improved to reduce audio glitches at cut points
237         * Broken GOP bit is now set to reduce video glitches at cut points
238         * Auto-detects single program stream video PID if single program cap
239         . Scrollable viewport to help you find the right I frame cut points
240         . Cuts on Sequence Starts/Intra Frame to reduce bad frames at cut
241         . Cuts to one big file or optionally cut to multiple smaller files
242         . Keyboard support for coarse and fine control of stream navigation
243         . Scrollwheel support for coarse control of stream navigation
244         . Supports newer 3 button scroll-mouse and 2-button older mice
245         . Displays histogram of I, P, or B frame packet counts
246         . Very small, very fast, and very limited (I-frame cuts only)
249 ******************************************************************************
250                                 xsig
251 ******************************************************************************
254 o   X DVB Signal strength visualization tool
256     o   X via libX11, no gtk/gnome/kde/qt required.
258         * Uses the DVB API drivers. Signal strength may or may not work.
259         . Polar chart of Signal Strength (radius) vs Time (circumference).
260         . Audio feedback option to hear when it's in tune (not for tone deaf).
261         . Adjustable wedge size for each signal sample.
262         . Supports multiple devices.