📄 main.cc
字号:
/* * dvb-mpegtools for the Siemens Fujitsu DVB PCI card * * Copyright (C) 2000, 2001 Marcus Metzler * for convergence integrated media GmbH * Copyright (C) 2002 Marcus Metzler * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Or, point your browser to http://www.gnu.org/copyleft/gpl.html * * The author can be reached at mocm@metzlerbros.de, */#include <cpptools.hh>const int SIZE = 1024;int fda_out, fdv_out;void awrite(uint8_t const *buf,long int l){ write(fda_out,buf,l);}void vwrite(uint8_t const *buf,long int l){ write(fdv_out,buf,l);}void write_it(uint8_t *buf, int count, p2p *p){ write(STDOUT_FILENO, buf, count);}void write_it2(uint8_t *buf, int count, void *p){ write(STDOUT_FILENO, buf, count);}#define PROGS 29char *prognames[PROGS+1] = { "streamtype", // 0 "ts2pes", // 1 "ps2vid", "pes2aud_es", "pes2aud", "pes2vid_es", "pes2vid", "tspids", "pes2ts", "analyze", "pes_demux", // 10 "es_demux", "ts_demux", "ts_es_demux", "pesplot", "pes2ts2", "pes_repack", "split_mpg", "cut_mpg", "ts2ps", "ts2es", // 20 "insert_pat_pmt", "get_http", "extract_pes", "extract_pes_payload", "change_aspect_1_1", "change_aspect_4_3", "change_aspect_16_9", "change_aspect_221_1", // 28 " " };enum { streamtype_, // 0 ts2pes_, // 1 ps2vid_, pes2aud_es_, pes2aud_, pes2vid_es_, pes2vid_, tspids_, pes2ts_, analyze_, pes_demux_, // 10 es_demux_, ts_demux_, ts_es_demux_, pesplot_, pes2ts2_, pes_repack_, split_mpg_, cut_mpg_, ts2ps_, ts2es_, // 20 insert_pat_pmt_, get_http_, extract_pes_, extract_pes_payload_, change_aspect_1_1_, change_aspect_4_3_, change_aspect_16_9_, change_aspect_221_1_, // 28 none_, };void usage(int progn){ switch(progn) { case streamtype_: cerr << "usage: streamtype <filename>" << endl; cerr << "or streamtype < <filename> (or pipe)" << endl; break; case ts2pes_: cerr << "usage: ts2ps <filename> <PID1> <PID2>" << endl; cerr << " or ts2ps <PID1> <PID2> < <filename> (or pipe)" << endl << " if pids = 0 the program searches for them" << endl; break; case ts2ps_: cerr << "usage: ts2ps <filename> <PID1> <PID2>" << endl; cerr << " or ts2ps <PID1> <PID2> < <filename> (or pipe)" << endl << " if pids = 0 the program searches for them" << endl; break; case ts2es_: cerr << "usage: ts2es <filename> <PID>" << endl; cerr << " or ts2ps <PID> < <filename> (or pipe)" << endl; break; case pes2aud_: case pes2vid_: case pes2aud_es_: case pes2vid_es_: cerr << "usage: " << prognames[progn] << " <filename> [id]" << endl; cerr << " or " << prognames[progn] << " <filename> [id]"; cerr << "(or pipe)" << endl; break; case tspids_: cerr << "usage: tspids <filename>" << endl; break; case pes2ts_: cerr << "usage: pes2ts <filename>" << endl; cerr << " or pes2ts < <filename> (or pipe)" << endl; break; case pes2ts2_: cerr << "usage: pes2ts2 <filename> <audio PID> <video PID>" << endl; cerr << " or pes2ts2 < <filename> <audio PID> <video PID>"; cerr << " (or pipe)" << endl; break; case analyze_: cerr << "usage: analyze <filename>" << endl; cerr << " or analyze < <filename> (or pipe)" << endl; break; case pes_demux_: case es_demux_: cerr << "usage: " << prognames[progn] << " <filename> <audioout> <videoout>" << endl; cerr << " or " << prognames[progn] << " <audioout> <videoout> < <filename> (or pipe)" << endl; break; case ts_demux_: cerr << "usage: ts_demux <filename>" << endl; cerr << " or ts_demux < <filename>" << endl; break; case ts_es_demux_: cerr << "usage: ts_es_demux <filename> <audio_out> <video_out>" << endl; cerr << " or " << "ts_es_demux < <filename> <audio_out> <video_out>" << endl; break; case pesplot_: cerr << "usage: pesplot <filename>" << endl; cerr << " or pesplot < <filename>" << endl; break; case pes_repack_: cerr << "usage: pes_repack <filename> <packet size>" << endl; cerr << " or pes_repack < <filename> <packet size>"; cerr << "(or pipe)" << endl; break; case split_mpg_: cerr << "usage: split_mpg <filename> <size>" << endl; break; case cut_mpg_: cerr << "usage: cut_mpg <filename> <size>" << endl; break; case insert_pat_pmt_: cerr << "usage: insert_pat_pmt <filename>" << endl; cerr << "or insert_pat_pmt < <filename> (or pipe)" << endl; break; case get_http_: cerr << "usage: get_http <URL>" << endl; break; case extract_pes_payload_: cerr << "usage: extract_pes_payload <filename> <ID in HEX>" << endl; cerr << "or extract_pes_payload <ID in HEX> < <filename>" << endl; break; case extract_pes_: cerr << "usage: extract_pes <filename> <ID in HEX>" << endl; cerr << "or extract_pes <ID in HEX> < <filename>" << endl; break; case change_aspect_1_1_: case change_aspect_4_3_: case change_aspect_16_9_: case change_aspect_221_1_: cerr << "usage: " << prognames[progn] << " <filename>" << endl; break; }}int main(int argc, char **argv){ ifstream fin;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -