⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iso13818ps.1

📁 mpeg 解复用
💻 1
📖 第 1 页 / 共 2 页
字号:
When switched on, the configuration is printed each time it changes.First, the number of programs is printed,then for each program one line of description andfor each stream within that program another line is printed.When \fInum\fR=2, then for each descriptor there is printed one more line.The following values are compiled:.RS.TP\fIprogs\fRNumber of programs in target stream..TP\fIprog\fRProgram number within target stream..TP\fIpmt\fRPMT PID for the program..TP\fIpcr\fRPCR PID for the program..TP\fIstreams\fRNumber of streams in the program..TP\fIstream\fRStream PID..TP\fItype\fRStream type (according to ISO 13818-1 table 2-29)..TP\fIsid\fRPES stream ID..TP\fIfile\fRSource file contents type (PES=0, PS=1, TS=2)..TP\fIsource\fRStream index in source file (SID for PS, PID for TS)..TP\fInum\fRSource file reference number (-1 if none)..TP\fIname\fRSource file name..TP\fIdescr\fRDescriptor tag..TP\fIlen\fRDescriptor length, number of data bytes in the descriptor..TP\fIdata\fRDescriptor data, bytewise..RE.TP\fB\-S\fR, \fB\-\-statistics\fR \fItime\fROrder output load statistics to be generated about every\fItime\fR msec.Switch off with \fItime\fR=0.The statistics are written to \fIstderr\fR linewise,the following values are calculated:.RS.TP\fInow\fRInternal clock in msec..TP\fIout\fRNumber of bytes written to stdout since last statistics,and number of write operations needed..TP\fIbuf\fRNumber of bytes in the output buffers (lower and upper bound)..TP\fItime\fRTime in msec, for how long the contents of theoutput buffers should suffice (lower and upper bound)..TP\fIburst\fRSize of write burst, i.e. number of bytes prepared tobe written in a single write operation (lower and upper bound)..RE.TP\fB\-\-badtiming\fRIn conjunction with a program stream originating from a DVB-sdigital TV receiver card, You might want to automaticallycorrect broken PCR values produced by that card, toavoid discontinuities in the output..SH OVERVIEWThe multiplexer is designed to run uninterrupted andbe controlled via \fIstdin\fR and \fIstderr\fR.It is designed to process data in real time,i.e. if the processing is not performed fastenough (e.g. because of low system performance),errors in the resulting data may occur, namelyconcerning the timing.The multiplexer may be invoked interactively withthe streams to process given as command line optionsor with the commands to be processed typed into\fIstdin\fR during operation.The latter type of usage is also designed for usewith an user interface front-end, that maytranslate some GUI input to iso13818ps commandsand filter its responses to be presented to the useras appropriate..PThree different types of input are supported:Paketized elementary streams (PES),Program streams (PS),Transport streams (TS)..PNumeric parameters may be given in decimal (e.g. 31)or in hex (e.g. 0x1F)..SH DETAILSThe output file or device does not change throughout thetime the program runs. The input files, however, may vary.Also the contents of an input file may vary, but not itstype. E.g., a file opened as program stream must containvalid program stream data up to its end (and includingany files that are appended to this file with \fB\-\-append\fR)..PAll basic PSI is evaluated contiguously, and changes inthe configuration (changing PID, etc.) are taken intoaccount and tracked. Thus a stream should not get lostsimply because its PID is changed in the middle of thebroadcast..SH EXAMPLESTo convert a program stream file x.PS to a program stream file y.PS,and System Header and Stream Map generated about every half second:.IP$ iso13818ps --fpsi 500 --ps x.PS > y.PS.PPIf the program stream doesn't contain correct PSI,the single streams may be extracted one by one. Assumingone video stream (0xE0) and mono audio (0xC0):.IP$ iso13818ps --fpsi 500 --ps x.PS 0xE0 --ps = 0xC0 > y.PS.PPTo bundle two streams originating from video devices andsend them out to a video output device, e.g.:.IP$ iso13818ps -F 500 -P /dev/video0 -P /dev/video1 > /dev/video2.PP.PPTo invoke the multiplexer for interactive use, it mustbe put in all-time-busy-mode. Subsequently, commands canbe fed to \fIstdin\fR, e.g. to do the same as with thefirst example:.IP$ iso13818ps --busy > y.PS.brfpsi 500.brps x.PS.PPThis instance of the multiplexer will not cease when theend of file in x.PS is reached. To stop the multiplexer,either \fBquit\fR or \fBbusy 0\fR may be typed to \fIstdin\fR..PTo output a movie repeatedly (e.g. seven times):.IP$ iso13818ps -F 500 --ps thepurpleroseofcairo.PS --repeat = 7 > /dev/video2.PPNote, that if during the movie is processed, the command.IPclose thepurpleroseofcairo.PS.PPis issued, and supposed it is not yet processed the seventh time,it is not closed, but restarted immediately..PTo concatenate two movies and output them in sequence:.IP$ iso13818ps -F 500 --ps rambo1.PS --append = rambo2.PS > /dev/video2.PPNote, that a file can only be appended to a file, that isyet in use (i.e. being processed). Thus, it is not possibleto append a third movie (rambo3.PS) from within the commandline. Instead, the processing of the second movie must beawaited, and then the following command can be fed to \fIstdin\fR:.IPappend rambo2.PS rambo3.PS.PPIf the source is a transport stream with broken ormissing PSI (i.e. PAT/PMT), and if further it canbe assumed, that there is only one program to be foundin the stream, then the \fIsource program number\fRcan be specified as \fB0\fR. With the followingexample, one video and one audio stream are extracted(the first one found, if more than one exist):.IP$ iso13818ps -F 500 -T deficient.TS 0 0xE0 -T = 0 0xC0 > complete.PS.PP.SH "KNOWN PROBLEMS"The program might not work in conjunction with device driversthat do not deliver or accept data unless a first read or writeis done on the device. E.g., for a MPEG video data source, thatdoes not produce output without being triggered by being readfrom, this program will await the readability of the firstdata infinitely. On the other hand it is obvious that the drivershould not encode data as long as there is no application thatwill read this data.One possibly solution to this dilemma is to patch such a driverto interpret the \fIpoll\fR command as an order for data, thustriggering the read mechanisms. Analogous considerations holdfor polling the output device and writing to it..PPaketized elementary streams do not necessarily containusable time stamps, so when multiplexing raw PES, streamsbelonging together may be out of sync. This is especiallynoteworthy in case streams shall be demultiplexed and thenagain multiplexed in some way. Results will always be betterwhen this remultiplexing takes place entirely within themultiplexer, because that way timing information won't get lost..SH BUGSEnd of action sometimes is not detected correctly, whichcauses the multiplexer to hang.Nevertheless, it then can be stopped by the \fBquit\fR command..PChanging configuration is not printed if the changeis solely a descriptor coming from a source file..SH "SEE ALSO".BR iso13818ts (1),.BR ISO\ 13818-1 ,.BR ETSI\ EN\ 300\ 468 ..SH AUTHOROskar Schirmer (schirmer@scara.com).

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -