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:
* h = send HTTP (as a POST)
* u = send UDP
* r = send RTP
* f = write to /tmp files
* d = inspect packets and dump to screen
* h = send HTTP (as a POST)
* u = send UDP
* r = send RTP
* f = write to /tmp files
* d = inspect packets and dump to screen
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:
* FilterFixPTS = 0x0001
* FilterDropAudio = 0x0002
* FilterScale640 = 0x0004
* FilterScale320 = 0x0008
* FilterFixContinuity = 0x0010
* DumpProgramInfo = 0x0100
* DumpPacketStats = 0x0200
* DumpPacketHeader = 0x0400
* DumpPacketPayload = 0x0800
* filterFixPTS = 0x0001
* filterDropAudio = 0x0002
* filterScale640 = 0x0004
* filterScale320 = 0x0008
* filterFixContinuity = 0x0010
* dumpProgramInfo = 0x0100
* dumpPacketStats = 0x0200
* dumpPacketHeader = 0x0400
* dumpPacketPayload = 0x0800
Common flag combos:
* 3: fix pts and drop audio
* 7: fix pts, drop audo and scale 640
* 17: fix pts and fix continuity
* 256: dump program info
* 512: dump packet stats
* 513: fix pts, plus above
* 529: fix pts and fix continuity, plus above
* 3: fix pts and drop audio
* 7: fix pts, drop audo and scale 640
* 17: fix pts and fix continuity
* 256: dump program info
* 512: dump packet stats
* 513: fix pts, plus above
* 529: fix pts and fix continuity, plus above
# 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
the following:
* [mpegts @ 0xX] Timestamps are unset in a packet for stream 0...
* [mpegts @ 0xX] first pts value must be set
* [mpegts @ 0xX] Timestamps are unset in a packet for stream 0...
* [mpegts @ 0xX] first pts value must be set
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.
@ -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
second and header fields are read as big endian (like most protocols).
* TEI = Transport Error Indicator
* PUSI = Payload Unit Start Indicator
* TP = Transport Priority
* TCS = Transport Scrambling Control
* AFC = Adapation Field Control
* CC = Continuity Counter
* AFL = Adapation Field Length
* PCR = Program Clock Reference
* TEI = Transport Error Indicator
* PUSI = Payload Unit Start Indicator
* TP = Transport Priority
* TCS = Transport Scrambling Control
* AFC = Adapation Field Control
* CC = Continuity Counter (incremented per PID wen payload present)
* AFL = Adapation Field Length
* PCR = Program Clock Reference
# Dependencies
@ -109,4 +109,4 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
or more details.
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).