Refactored to be more Go idiomatic.

This commit is contained in:
Alan Noble 2017-09-20 21:28:54 +09:30
parent dbfe59432c
commit 9c7df83011
1 changed files with 112 additions and 112 deletions

View File

@ -7,11 +7,11 @@ MPEG-TS over various protocols.
The mode (-m) determine the mode of operation: The mode (-m) determine the mode of operation:
* h = send HTTP (as a POST) * h = send HTTP (as a POST)
* u = send UDP * u = send UDP
* r = send RTP * r = send RTP
* f = write to /tmp files * f = write to /tmp files
* d = inspect packets and dump to screen * d = inspect packets and dump to screen
Flags (-f) determine video filtering and other actions. Flags (-f) determine video filtering and other actions.
@ -28,25 +28,25 @@ Append a ? to your <URL> if you don't need it
List of flags: List of flags:
* FilterFixPTS = 0x0001 * filterFixPTS = 0x0001
* FilterDropAudio = 0x0002 * filterDropAudio = 0x0002
* FilterScale640 = 0x0004 * filterScale640 = 0x0004
* FilterScale320 = 0x0008 * filterScale320 = 0x0008
* FilterFixContinuity = 0x0010 * filterFixContinuity = 0x0010
* DumpProgramInfo = 0x0100 * dumpProgramInfo = 0x0100
* DumpPacketStats = 0x0200 * dumpPacketStats = 0x0200
* DumpPacketHeader = 0x0400 * dumpPacketHeader = 0x0400
* DumpPacketPayload = 0x0800 * dumpPacketPayload = 0x0800
Common flag combos: Common flag combos:
* 3: fix pts and drop audio * 3: fix pts and drop audio
* 7: fix pts, drop audo and scale 640 * 7: fix pts, drop audo and scale 640
* 17: fix pts and fix continuity * 17: fix pts and fix continuity
* 256: dump program info * 256: dump program info
* 512: dump packet stats * 512: dump packet stats
* 513: fix pts, plus above * 513: fix pts, plus above
* 529: fix pts and fix continuity, plus above * 529: fix pts and fix continuity, plus above
# Errors # Errors
@ -59,8 +59,8 @@ RTSP feeds from certain cameras (such as TechView ones) do not
generate presentation timestamps (PTS), resulting in errors such as generate presentation timestamps (PTS), resulting in errors such as
the following: the following:
* [mpegts @ 0xX] Timestamps are unset in a packet for stream 0... * [mpegts @ 0xX] Timestamps are unset in a packet for stream 0...
* [mpegts @ 0xX] first pts value must be set * [mpegts @ 0xX] first pts value must be set
This can be fixed with an ffmpeg video filter (specified by flag 0x0001). This can be fixed with an ffmpeg video filter (specified by flag 0x0001).
Another issue is that MPEG-TS continuity counters may not be continuous. Another issue is that MPEG-TS continuity counters may not be continuous.
@ -74,14 +74,14 @@ installed. If so, you can drop the audio (flag 0x0002).
MPEG2-TS stream clocks (PCR, PTS, and DTS) all have units of 1/90000 MPEG2-TS stream clocks (PCR, PTS, and DTS) all have units of 1/90000
second and header fields are read as big endian (like most protocols). second and header fields are read as big endian (like most protocols).
* TEI = Transport Error Indicator * TEI = Transport Error Indicator
* PUSI = Payload Unit Start Indicator * PUSI = Payload Unit Start Indicator
* TP = Transport Priority * TP = Transport Priority
* TCS = Transport Scrambling Control * TCS = Transport Scrambling Control
* AFC = Adapation Field Control * AFC = Adapation Field Control
* CC = Continuity Counter * CC = Continuity Counter (incremented per PID wen payload present)
* AFL = Adapation Field Length * AFL = Adapation Field Length
* PCR = Program Clock Reference * PCR = Program Clock Reference
# Dependencies # Dependencies
@ -109,4 +109,4 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
or more details. or more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with NetReceiver in gpl.txt. If not, see [GNU licenses](http://www.gnu.orlicenses). along with revid in gpl.txt. If not, see [GNU licenses](http://www.gnu.licenses).