锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1.UDP杈撳叆UDP杈撳嚭
2.鎻愪緵婧愬垏鎹㈢殑鎺ュ彛錛屽鎴蜂細鍐嶆煇涓椂鍒繪崲鎺夋煇涓簮
3.鑹ソ鐨勫紓甯稿鐞嗭紝鏌愪釜UDP婧愭柇嫻佹垨鎭㈠涓嶅獎鍝嶇幇鏈夎妭鐩傝繖涓嶆槸瀹㈡埛鐨勮姹傦紝浣嗘湁榪囧ぇ鍨嬮」鐩粡楠岀殑浜虹煡閬擄紝榪欐槸涓瀹氳鑰冭檻鐨?br />浠庡疄鐜板眰闈㈡潵璁詫紝闇瑕佷互涓嬫妧鏈偣錛?br />1.UDP鍗曟挱緇勬挱鎺ユ敹
2.TS灝佽鐨凥264涓嶮PEG2瑙嗛瑙g爜涓篩UV
3.YUV緙╂斁
4.YUV鐢婚潰鎷兼帴
5.鍚堟垚鍚庣殑YUV鍘嬬緝涓篐264
6.鍘嬬緝鍚庣殑瑙嗛鎵撳寘TS
7.鎵撳寘鍚庣殑TS閫氳繃UDP鍙戦?br />8.鍙戦佹椂闇瑕佽繘琛屾祦鎺э紝淇濊瘉VLC鍙甯告挱鏀俱?br />榪欎簺鎶鏈偣涓嶇畻闅撅紝鐪熸鐨勯毦鐐瑰湪浜庣粺絳硅繍浣滐紝N涓簮鍚勮嚜鐨勮В鐮佸悗鐢婚潰杈撳嚭閫熷害涓嶅悓錛岃櫧鐒舵垜浠姹傚悇婧愬撫鐜囩浉鍚屻傚悇瑙g爜綰跨▼鐢婚潰杈撳嚭铏芥暣浣撶浉鍚岋紝浣嗚偗瀹氫細蹇介珮蹇戒綆銆傚鏋滄瘡涓簮閮芥甯哥殑璇濓紝鎴戜滑鍙互絳夊緟姣忎釜婧愰兘鏈夌敾闈㈢殑鏃跺欐墠榪涜鍚堟垚銆備絾鏄垜浠渶瑕佽冭檻婧愭柇嫻佷笌鎭㈠錛屽氨涓嶈兘涓鐩寸瓑寰呮煇涓簮銆傚叾浜岋紝涓轟簡鏀寔婧愬垏鎹紝鎴戜滑搴旇娑夊強濂借繍浣滄ā寮忥紝瀹炵幇鏃犵紳鍒囨崲錛屼絾榪欎簺鍙槸鎴戠壒瀹?涓氬姟鐨勯渶瑕侊紝鎺ヤ笅鏉ュ彧璁蹭笌ffmpeg鐩稿叧鎶鏈?br />鍏堣涓婇潰鎻愬埌鐨?涓妧鏈偣錛孶DP鏀跺彂灝變笉鐢ㄨ浜嗭紝鍊煎緱涓鎻愮殑鏄帴鏀墮渶瑕佷嬌鐢ㄥ紓姝ユā寮忥紝榪欎釜鍦ㄥ悗闈細鎻愬埌銆傞櫎浜哬UV鐢婚潰鎷兼帴錛屽叾浠栭兘鍙互鐢╢fmpeg sdk瀹炵幇銆傚洜姝や富瑕佽璁轟嬌鐢╢fmpeg榪涜瑙g爜緙栫爜錛岃繖縐嶆妧鏈枃绔犲叾瀹炲緢澶氾紝浣嗕粬浠竴鑸彧鏈夌畝鍗曠殑鏂規錛屽浜庤繖浜涙瘮杈冨父瑙佺殑涓滆タ錛屾垜浠篃涓嶅仛璁ㄨ錛屽彧璁ㄨ鍑犱釜閲嶇偣錛岃屽張緙轟箯璧勬枡鐨勯棶棰橈紝涓昏鏈夛細
1.瀵硅В鐮佸強緙栫爜鑷畾涔塱o鍥炴帀銆俇DP鎺ユ敹鍙婂彂閫佷笉閫氳繃ffmpeg瀹炵幇銆傚浜嶶DP婧愭潵璇達紝ffmpeg瀵筂PTS鏀寔涓嶅ソ銆傚浜庤緭鍑篣DP鏉ヨ錛宖fmpeg娌℃湁嫻佹帶
鏈夋椂鎴戜滑甯屾湜ffmpeg鐨刟pi鎵撳紑鐨勪笉鏄枃浠舵垨鏌愪釜鍗忚鐨刄RL錛岀洿鎺ヤ紶閫掓暟鎹紦鍐茬粰浠栵紝ffmpeg涓嶆敮鎸佷紶閫掓暟鎹寚閽堢粰浠栵紝瑕佹眰浠栫紪鐮佹垨瑙g爜錛岃繖鍦╢fmpeg api涓殑瀹炵幇鏂瑰紡鏄疘O鍥炴帀鍑芥暟銆備粬鍦ㄩ渶瑕佺殑鏃跺欐潵璋冪敤浣犵殑鍑芥暟鏉ヨ鍙栨垨鍐欏叆銆備互瑙g爜涓轟緥錛屼笅闈負紺轟緥浠g爜錛?br />AVIOContext *pb = avio_alloc_context(pbuf+1316, AVIO_BUF_SIZE-1316, 0, this, ReadDataCb, NULL, NULL);
if (av_probe_input_buffer(pb, &pinFmt, "", NULL, 0, MAX_PROBE_SIZE) < 0)
{
//error...
}
AVFormatContext *pFmtCt = avformat_alloc_context();
pFmtCt->pb = pb;
if (avformat_open_input(&pFmtCt, "", pinFmt, NULL) < 0)
{
//error...
}
璇誨彇鍥炴帀鍘熷瀷濡備笅錛?br />static int ReadDataCb(void *opaque, uint8_t *buf, int buf_size);
瀹炵幇鐞嗗康涓鑸簲璇ユ槸闄ら潪鎯寵鍋滄瑙g爜錛岃繑鍥?1錛屽惁鍒欒繑鍥炴暟鎹暱搴︺備繚璇佷粬璇誨埌鏁版嵁
涓嶇煡閬撴槸鍑轟簬鍐呭瓨瀵歸綈榪樻槸浠涔堝師鍥狅紝
uint8_t *pbuf = (uint8_t *)calloc(AVIO_BUF_SIZE,1);
pb = avio_alloc_context(pbuf+1316, AVIO_BUF_SIZE-1316, 0, this, ReadDataCb, NULL, NULL);
鐨勬椂鍊欑涓涓弬鏁扮洿鎺ヤ紶pbuf浼氬穿婧冿紝鎵浠?1316
鑰岃嫢浣跨敤av_mallocz錛岃櫧鍙互鐩存帴浼爌buf,鍗村湪av_free鐨勬椂鍊欏穿婧冿紝娌℃湁鎵懼埌鍘熷洜銆?br />
2.鐢變簬闇瑕佸疄鐜板垏鎹紝鎵浠ラ渶瑕佸皢鏌愪釜婧愬畬鍏ㄩ攢姣侊紝涓嶄駭鐢熷唴瀛樻硠闇詫紝涓嶈灝忕湅榪欎釜闂錛岀綉涓婄殑寰堝浠g爜鏄笉瀵圭殑銆?br />
閿姣?AVFormatContext
姝g‘閿姣佹柟寮忥細
/* close decoder for each stream */
for (int i = 0; i < pFmtCt->nb_streams; i++)
{
if (pFmtCt->streams[i]->codec->codec_id != AV_CODEC_ID_NONE)
{
THREAD_MUTEX_LOCK(&g_mutex_avcodec_oc);
avcodec_close(pFmtCt->streams[i]->codec);
THREAD_MUTEX_UNLOCK(&g_mutex_avcodec_oc);
}
}
avformat_close_input(&pFmtCt);
閿姣?AVIOContext
//涓嶅彲浣跨敤avio_close
av_free(pb->buffer);
av_free(pb);
閿姣?AVFrame
AVFrame *pframe = avcodec_alloc_frame();
avcodec_free_frame(&pframe);
3.澶氱嚎紼嬩嬌鐢╢fmpeg sdk闂
avcodec_open/avcodec_close涓嶆槸綰跨▼瀹夊叏鐨勶紝蹇呴』榪涜鍏ㄥ眬鍔犻攣淇濇姢錛屾垨鑰呭叾浠栧悓姝ユ柟寮忋傞櫎浜嗚繖涓や釜鍑芥暟澶栵紝鐢變簬av_find_stream_info鍐呴儴璋冪敤浜哸vcodec_open錛屼篃闇瑕佸姞閿併備絾av_find_stream_info鏈夊彲鑳芥墽琛屾椂闂存瘮杈冮暱錛屽鏋滄病鐗瑰埆鐨勫繀瑕侊紝鍙互涓嶄嬌鐢ㄦ鍑芥暟銆傚浜庤В鐮佹潵璇達紝鏈変笅闈袱涓嚱鏁幫細
av_probe_input_buffer
avformat_open_input
澶ч儴鍒嗘儏鍐典笅宸茬粡鍙互姝e父瑙g爜浜嗐?br />
鍏充簬鍘嬬緝
ffmpeg鍘嬬緝H264 TS鏃禖BR騫朵笉濂界敤錛岃緗簡mux_rate浼氬鑷碩S灝佽鍑洪敊銆傝佽佸疄瀹炵敤VBR錛屼笉璁劇疆mux_rate
榪涜H264鍘嬬緝鏃朵竴涓夐」涓瀹氳璁劇疆鐨勶細
preset
鍦ㄥ帇緙╂晥鐜囧拰榪愮畻鏃墮棿涓鉤琛$殑棰勮鍊鹼紝鍙敤閫夐」錛?br />ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo
]]>
鍦ㄩ殧琛屾壂鎻忓撫涓紝褰撴湁縐誨姩鐨勫璞℃垨鎽勫儚鏈虹Щ鍔ㄦ椂錛屼笌閫愯鐩告瘮錛屼袱涓浉閭昏鍊懼悜鍑忓皯緇熻鐨勭浉鍏蟲э紝榪欑鎯呭喌搴旀瘮姣忓満鍒嗗埆鍘嬬緝鏇翠負鏈夋晥銆備負浜嗚揪鍒伴珮鏁堢巼錛孒.264/AVC鍦ㄧ紪鐮佸撫鏃訛紝鏈変互涓嬪彲閫夋柟妗堬細
● 緇撳悎涓ゅ満鎴愪竴涓畬鏁村撫錛屼綔涓哄撫緙栫爜錛岀О涓哄撫妯″紡銆?/p>
● 涓ゅ満鍒嗗埆緙栫爜錛岀О涓哄満妯″紡銆?/p>
● 緇撳悎涓ゅ満鎴愪竴涓畬鏁村撫錛屼綔涓哄撫鍘嬬緝銆傚湪緙栫爜鏃訛紝鍒掑垎鍨傜洿鐩擱偦鐨勪袱涓畯鍧楀鎴愪袱涓満瀹忓潡瀵規垨甯у畯鍧楋紝鍐嶈繘琛岀紪鐮併?/p>
姣忓撫鍥懼儚鍙嚜閫傚簲閫夋嫨3縐嶆ā寮忎箣涓榪涜緙栫爜銆傚湪鍓嶄袱縐嶄箣闂磋繘琛岄夋嫨縐頒負鍥懼儚鑷傚簲甯?鍦虹紪鐮侊紙PAFF錛夛紝褰撲竴甯т綔涓轟袱鍦虹紪鐮佹椂錛屾瘡鍦哄垝鍒嗕負瀹忓潡錛岀紪鐮佹柟寮忎笌甯х紪鐮佹柟寮忓緢鐩鎬技錛屼富瑕佹湁涓嬮潰鐨勪緥澶栵細
● 榪愬姩琛ュ伩鐢ㄥ弬鑰冨満錛岃屼笉鏄弬鑰冨撫銆?/p>
● 鍙樻崲緋繪暟鐨?#8220;涔嬪瓧鍨?#8221;鎵弿鏂瑰紡涓嶅悓銆?/p>
● 瀹忓潡姘村鉤杈規部鍘誨潡婊ゆ嘗鍣ㄧ殑寮哄害涓嶉夌敤“寮?#8221;錛屽洜涓哄満琛屽湪絀洪棿涓婃槸涓ゅ嶅撫琛岀殑璺濈銆?/p>
鍦ㄧ爺鍒禜.264/AVC鏍囧噯鏃訛紝鎹姤閬擄紝閲囩敤ITU-601鍒嗚鯨鐜囷紝PAFF緙栫爜鎶鏈笌甯х紪鐮佺浉姣斿彲鍑忓皯鐮佺巼16%鍒?0%銆?/p>
濡傛灉鍥懼儚鐢辮繍鍔ㄥ尯鍜岄潪榪愬姩鍖烘販鍚堢粍鎴愶紝闈炶繍鍔ㄥ尯鐢ㄥ撫妯″紡銆佽繍鍔ㄥ尯鐢ㄥ満妯″紡鏄渶鏈夋晥鐨勭紪鐮佹柟娉曘傚洜姝ゆ瘡涓瀭鐩村畯鍧楀錛?6×32錛夊彲鐙珛閫夋嫨緙栫爜錛堝撫/鍦猴級妯″紡銆傝繖縐嶇紪鐮侀夋嫨縐頒負瀹忓潡鑷傚簲甯?鍦虹紪鐮侊紙MBAFF錛夈傚浜庡撫妯″紡瀹忓潡瀵癸紝姣忎釜瀹忓潡鍖呭惈甯ц錛屽浜庡満妯″紡瀹忓潡瀵癸紝欏墮儴瀹忓潡鍖呭惈欏跺満琛岋紝搴曢儴瀹忓潡鍖呭惈搴曞満琛屻?/p>
澶勭悊鍦哄畯鍧楀鐨勬瘡涓畯鍧椾笌甯AFF妯″紡鐩鎬技錛岀劧鑰岋紝鍥犱負鍦∕BAFF甯т腑鍙戠敓鍦?甯у畯鍧楀娣峰悎錛岄渶瑕佷慨鏀圭敤浣滀笅鍒楃敤閫旂殑鏂規硶錛?/p>
● 涔嬪瓧鍨嬫壂鎻忋?/p>
● 榪愬姩鐭㈤噺棰勬祴銆?/p>
● 甯у唴棰勬祴妯″紡鐨勯嫻嬨?/p>
● 甯у唴棰勬祴甯ч噰鏍風簿搴︺?/p>
● 鍘誨潡鏁堝簲婊ゆ嘗鍣ㄣ?/p>
● 涓婁笅鏂囨ā鍨嬬殑鐔電紪鐮併?/p>
涓昏鎬濇兂鏄敖鍙兘淇濈暀澶氱殑絀洪棿涓鑷存э紝MBAFF甯х殑絀洪棿鐩擱偦鐨勮鑼冪浉褰撳鏉傦紝涓嬮潰璁插埌鐨勭┖闂寸浉閭婚兘鏄寚闈濵BAFF甯с?/p>
MBAFF 鍜孭AFF鐨勫彟涓涓噸瑕佸尯鍒槸錛氫嬌鐢∕BAFF鏂規硶錛屼竴涓満涓嶈兘浣跨敤鍚屼竴甯х殑鍙︿竴涓満涓殑瀹忓潡浣滀負榪愬姩琛ュ伩鍙傝冦傝繖鏍鳳紝鏈夋椂PAFF姣擬BAFF緙栫爜鏇存湁鏁堬紝鐗瑰埆鏄湪蹇熷叏灞榪愬姩銆佸彉鎹㈠満鏅佸浘鍍忓埛鏂扮瓑鎯呭喌涓嬨?/p>
鍦ㄥ紑鍙慚BAFF鏍囧噯鏈熼棿錛屾嵁鎶ラ亾錛岄噰鐢↖TU-601鍒嗚鯨鐜囷紝MBAFF緙栫爜鎶鏈瘮PAFF鐩告瘮鍙噺灝戠爜鐜?4%鍒?6%銆?/p>
鍥懼儚搴忓垪鏄敱鍥懼儚緇勬瀯鎴愮殑錛屾槸闅忔満瀛樺彇孌佃惤銆?
sequence_header_code – The sequence_header_code is the bit string ‘000001B3’ in hexadecimal
sequence_end_code – The sequence_end_code is the bit string ‘000001B7’ in hexadecimal.
MPEG-2涓轟簡瀹炵幇闅忔満璁塊棶錛屽湪鐮佹祦涓細鎻掑叆repeat_sequence_header,瀹冨彲浠ユ彃鍦↖銆丳甯ф垨GOP鍓嶉潰錛涘亣濡傛槸鍦虹紪鐮侊紝鍙兘鎻掑湪絎竴鍦哄墠闈€?
鍥懼儚緇勫ご
鍥懼儚緇勶紙GOP錛夋槸涓烘柟渚塊殢鏈哄瓨鍙栬屽姞鐨勶紝鍥懼儚緇勬槸闅忔満瀛樺彇瑙嗛鍗曚綅銆備竴涓狦OP鐢變竴涓睮BP甯х粍鎴愶紝璧峰涓篒甯с傚熀鍑嗗撫(I/P)鐨勫弽澶嶉鐜囩敤M琛ㄧず錛屽畠鎻忚堪涓哄灝戝撫閲屽嚭鐜頒竴嬈/P甯с侴OP鐨勯暱搴︽槸涓涓狪甯у埌涓嬩竴涓狪 甯х殑闂撮殧錛屽嵆澶氬皯甯ч噷闈㈠嚭鐜頒竴嬈甯э紝涓鑸敤N琛ㄧず錛岃繖涓暱搴︽槸鍙彉鐨勶紝闀縂OP鍙互鎻愪緵楂樼殑鍘嬬緝姣旓紝浣嗘槸浼氶犳垚闅忔満瀛樺彇鐨勫歡榪燂紙蹇呴』絳夊埌涓嬩竴涓狪甯э級鍜岃宸殑縐瘡錛圥甯х殑璇樊浼犳挱錛夈備竴鑸槸涓縐掑唴鏈変袱涓狪甯э紝鐢ㄦ潵浣滀負闅忔満瀛樺彇鐨勫叆鍙c傚湪MPEG2涓篃娌℃湁瑙勫畾GOP鐨勭粨鏋勶紝甯у弽澶嶆柟寮忓彲浠ユ槸IP錛孖B錛孖BP錛孖BBP錛岀敋鑷沖叏閮ㄦ槸I甯с?
M=1 N=X錛欼PPP...
M=2 N=X錛欼BPBP...
M=3 N=X錛欼BBPBBP...
MPEG-2鏍囧噯涓殑GOP璇硶緇撴瀯濡備笅錛?
group_start_code – The group_start_code is the bit string ‘000001B8’ in hexadecimal.
closed_gop – This is a one-bit flag which indicates the nature of the predictions used in the first consecutive B-pictures (if any) immediately following the first coded I-frame following the group of picture header.closed_gop is set to ‘1’ to indicate that these B-pictures have been encoded using only backward prediction or intracoding.
broken_link – This is a one-bit flag which shall be set to ‘0’ during encoding. It is set to ‘1’ to indicate that the first
consecutive B-Pictures (if any) immediately following the first coded I-frame following the group of picture header may not be correctly decoded because the reference frame which is used for prediction is not available (because of the action of editing).A decoder may use this flag to avoid displaying frames that cannot be correctly decoded.
浣跨敤璇存槑
鐩綍
鏈▼搴忔槸涓嬈?/span>TS鏂囦歡闈欐佸垎鏋愬伐鍏鳳紝鏀寔188/204銆佸崟璺?/span>/澶氳礬鑺傜洰 mpeg2/h.264錛屽垎鏋愭ā鍧楅綈鍏紝鏀寔鐗瑰ぇ鏂囦歡錛屽茍鍏鋒湁涓嫻佺殑澶勭悊閫熷害銆傚叾涓昏鍔熻兘濡備笅錛?/span>
l 濯掍綋鎾斁
l 濯掍綋璇︾粏淇℃伅
l PID緇熻
l 鍚屾鍒嗘瀽錛?/span>GOP緇熻錛岀爜鐜囧彉鍖栧垎鏋?/span>
l PSI/SI瑙f瀽
l TS鍖呭垪琛ㄣ佸崄鍏繘鍒舵樉紺猴紝TS澶達紝璋冩暣瀛楁錛?/span>PES棣栭儴瑙f瀽
1.Windowns2000浠ヤ笂鎿嶄綔緋葷粺
2.IE6.0浠ヤ笂
3.鍐呭瓨錛?/span>128M浠ヤ笂
閫夋嫨鎵撳紑涓涓?/span>TS鏂囦歡錛?/span>
閫氳繃鑿滃崟鏍忔垨宸ュ叿鏍忔墦寮錛屾垨灝嗘枃浠舵嫋鍔ㄥ埌EasyICE錛屽彲浠ョ湅鍒板涓嬪璇濇
浣犲彲浠ュ湪榪欓噷閫夋嫨鍒嗘瀽鏁翠釜鏂囦歡鎴栭儴鍒嗘暟鎹?/span>
褰撴枃浠跺垎鏋愬畬姣曪紝鎾斁鍣ㄧ獥鍙d細琚垵濮嬪寲錛屽茍澶勪簬鏆傚仠鐘舵侊紝鍗曞嚮鎾斁鎸夐挳寮濮嬫挱鏀俱?/span>
鎾帶鎸夐挳錛?/span>
渚濇涓猴細鎾斁銆佹殏鍋溿佸仠姝€侀檷浣庢挱鏀鵑熷害銆佸姞澶ф挱鏀鵑熷害銆侀愬撫鎾斁
鎾斁閫熷害鐨勮皟鏁村垎涓冧釜綰у埆錛?/span>
1/4閫熴?/span>1/3閫熴?/span>1/2閫熴佹甯擱熷害銆?/span>2鍊嶉熴?/span>3鍊嶉熴佸洓鍊嶉?/span>
褰撳墠鎾斁閫熷害浼氬湪“璐ㄩ噺”鍖烘樉紺?/span>
“鑺傜洰”鍖哄垪鍑轟簡褰撳墠嫻佷腑鎵鍚湁鐨勮妭鐩紝鍗曞嚮鍗沖彲鎾斁閫変腑鑺傜洰錛屽睍寮鍙互鐪嬪埌鑺傜洰鐨勪笁涓?/span>PID錛氳棰戙侀煶棰戙?/span>PCR
“璐ㄩ噺”鍖烘樉紺轟簡褰撳墠鎾斁濯掍綋鐨勭畝鍗曚俊鎭紝濡傛挱鏀鵑熷害絳夛紝浣嗙敱浜庤蔣浠墮棶棰樻湁浜涙暟鎹幏鍙栦笉鍒版垨瀛樺湪闂錛岃浠?#8220;濯掍綋淇℃伅”鏍忔嫻嬬粨鏋滀負鍑嗐?/span>
鐗瑰埆鐨勶紝杞歡棣栧厛浼氭煡鎵炬祦涓殑PSI/SI淇℃伅錛屽鏋滃瓨鍦紝灝嗘寜鐓?/span>PSI/SI淇℃伅瑙f瀽錛屽鏋滀笉瀛樺湪錛岃蔣浠跺皢鑷繁灝濊瘯媯嫻嬭闊抽PID鍙?/span>PCRPID
濡傛灉浣犳病鏈夌湅鍒版挱鏀懼櫒鐢婚潰錛岃〃鏄庤蔣浠舵病鏈夋壘鍒拌棰戞祦鎴栨病鏈夋壘鍒?/span>PCR
璇ユā鍧楁樉紺轟簡瑙嗛搴忓垪錛岄煶棰戝撫鐨勫嚑涔庢墍鏈夊弬鏁幫紝浠ュ強瑙嗛煶棰戞祦鏁伴噺銆傚叿浣撲笉鍐嶅彊榪?/span>
姝ゆā鍧楀鎵鏈夌殑PSI/SI榪涜浜嗚В鏋愶紝褰撴祦涓瓨鍦?/span>PSI/SI鏁版嵁鏃訛紝浼氬湪姝ゆā鍧楀垪鍑恒傚湪瑙嗗浘涓偣鍑婚紶鏍囧彸閿紝鍙互灞曞紑/鎶樺彔鎵鏈夎妭鐐廣?/span>
鍒楀嚭褰撳墠TS嫻佷腑鍚勪釜PID鍑虹幇鐨勬暟閲忓強鍗犵敤鐧懼垎姣旓紝鎵灞炵被鍨?/span>
褰撴祦涓瓨鍦ㄥ璺妭鐩椂錛屽浘鏍囩晫闈細鏄劇ず涓鑺傝妭鐩夋嫨瀵硅瘽妗嗭紝鍗曞嚮鍙互鏄劇ず鐩稿簲鑺傜洰鍥捐〃
鏃墮棿鎴沖浘琛ㄦ樉紺虹殑鏄紝DTS銆?/span>PTS鍑虹幇鏃訛紝涓?/span>PCR鐨勯噰鏍楓備笌“PCR鎶栧姩”鍥捐〃鐩稿悓鐨勬槸錛屾椂闂存埑浠?/span>PCR鏃墮挓涓哄熀鍑嗐?/span>DTS涓?/span>PTS鍊煎彇鑷棰戞祦涓殑I甯с傜敱浜庡撫鐨勭紪鐮侀『搴忎笌鏄劇ず欏哄簭鐨勫叧緋伙紝涓嶅彇B銆?/span>P鎴栧叾浠栧撫鐨?/span>PTS涓?/span>DTS錛屽惁鍒欐椂闂村氨涓嶆槸绱姞鐨勩?/span>
婊氬姩榧犳爣婊氳疆鍙互緙╂斁/鎵╁睍鍥捐〃鏄劇ず錛岃繖閲屽ぇ綰︽彁渚涗簡20鍊嶇殑鎵╁睍錛屽鏋滀綘闇瑕佹樉紺烘洿灝忔暟閲忕駭鐨勫浘琛紝鍙互鍦ㄥ紑濮嬪垎鏋愭枃浠舵椂閫夋嫨灝戝垎鏋愪竴浜涙暟鎹?/span>
鍥懼儚鍙互鐢ㄩ紶鏍囨嫋鍔紝鏉ヨ皟鏁存樉紺轟綅緗?/span>
鍦ㄥ浘琛ㄤ笂鐐瑰嚮鍙抽敭錛屽彲浠ラ夋嫨灝嗗綋鍓嶅浘鏍囧瓨鍌ㄤ負png/jpg絳夋牸寮忕殑鍥劇墖銆?/span>
DTS涓?/span>PCR銆?/span>PTS涓?/span>PCR鐨勫樊鍊?/span>
瑙嗛鐨?/span>GOP緇撴瀯
GOP緇撴瀯鍙樺寲
鐮佺巼緙栫爜鏇茬嚎錛屽浘涓殑姣忎竴涓偣涓烘瘡嬈¢噰鏍鳳紝鐮佺巼璁$畻鏂瑰紡涓猴細涓や釜PCR鍖呬箣闂寸殑TS鍖呮暟閲忛櫎浠ユ椂闂?/span>
鏁版嵁鍖呭垪琛ㄤ腑鏄劇ず浜嗗寘ID錛岀被鍨嬶紝Payload鏄惁涓虹湡浠ュ強PCR絳夋暟鎹紝鐐歸夋煇涓潯鐩紝鍙互鏄劇ず鐩稿簲TS鍖呯殑鍗佸叚榪涘埗錛屽強鏍囩ず浣嶇瓑淇℃伅銆?/span>
鍦ㄦ暟鎹寘鍒楄〃鐐瑰嚮鍙抽敭錛屽彲浠ユ墽琛屼笂涓嬬炕欏碉紝鎴栦繚瀛橀変腑TS鍖呯瓑鎿嶄綔銆?/span>
鑺傜偣鍒楄〃鐨勫寘榪囨護鍣ㄥ皻鏈疄鐜般?/span>
濉叆浣犺鎶藉彇鍑烘潵鐨?/span>PID錛屽鏋滄湁澶氫釜錛屼互鑻辨枃鐨勯楀彿闅斿紑銆傛澶勭殑PID瑕佸~鍗佽繘鍒?/span>
濉叆瑕侀噸璁劇殑鍘熷鍙婄洰鐨?/span>PID錛屽間負鍗佽繘鍒?/span>
204鍖呴暱鐨?/span>TS嫻佽漿涓?/span>188鍖呴暱
鐩告瘮鍚岀被鐨?/span>TS鍒嗘瀽杞歡錛屾湰紼嬪簭鑷沖皯瀛樺湪浠ヤ笅涓嶈凍錛?/span>
l 娌℃湁瀵規弿榪板瓙榪涜瑙f瀽
l 娌℃湁瀵硅繛緇鏁版牎楠岋紝PCR闂撮殧鏍¢獙絳夐獙璇佷俊鎭?/span>
l 娌℃湁瀵硅棰戝簭鍒楀崗璁殑瑙f瀽
l 娌℃湁鏁版嵁鍖呮煡鎵懼姛鑳?/span>
l 娌℃湁PID榪囨護鍔熻兘錛屾棤娉曞悇PID鐨?/span>TS鍖呭垎綾繪樉紺?/span>
l 娌℃湁鍙嬪ソ鐨勮娉曞垎鏋?/span>
l 娌℃湁杞鐢ㄥ姛鑳?/span>
l 涓嶆敮鎸佸姞瑙f壈
杞歡鐨勫鐞嗘満鍒舵槸錛屽綋嫻佷腑瀛樺湪PSI/SI淇℃伅鏃訛紝瀵硅妭鐩殑鍒嗘瀽灝嗗畬鍏ㄤ緷鐓?/span>PMT瀵硅妭鐩殑璇存槑錛屽綋涓嶅瓨鍦?/span>PSI/SI淇℃伅鏃訛紝杞歡浼氳嚜宸卞垽鏂祦涓槸鍚﹀惈鏈夐煶瑙嗛銆?/span>PCR絳変俊鎭紝騫跺鍒嗘瀽嫻佺被鍨嬨備絾鏄紝涓浜涚壒鍒殑鎯呭喌錛屼緥濡備笉鍚湁PCR淇℃伅錛屽湪“鏁版嵁鍖?#8221;鍙?#8220;PID”瑙嗗浘涓鍖呯被鍨嬬殑鏄劇ず浼氭槸“鏈煡”鐘舵侊紝鑰?#8220;MediaInfo”瑙嗗浘瀵規祦鐨勫垎鏋愬垯鏄嫭绔嬬殑錛屾偍搴斿綋浠?#8220;MediaInfo”瑙嗗浘鏄劇ず鐨勭粨鏋滀負鍑嗐?/span>
褰撴偍鍦ㄤ嬌鐢ㄨ繃紼嬪綋涓亣鍒伴棶棰橈紝鎴栧彂鐜拌蔣浠?/span>bug錛屽彲浠ヤ笌鎴戣仈緋伙紝璇鋒偍灝嗛棶棰樿緇嗘弿榪幫紝鏈濂藉啀闄勫姞涓婇亣鍒伴棶棰樼殑TS嫻侊紙5-10M鍗沖彲錛夛紝鍙戦偖浠剁粰鎴戯紝鎴戜細灝藉揩涓烘偍絳斿銆?/span>
鑷?/span>2.2.1鐗堟湰璧鳳紝杞歡灝嗗彇娑堜嬌鐢ㄦ椂闂撮檺鍒訛紝鍥犱負鎴戞棤娉曞啀淇濋殰鏇存柊閫熷害銆?/span>EasyICE鏄笟浣欐椂闂村紑鍙戯紝涓騫村鏉ユ秷鑰椾簡澶鐨勬椂闂翠笌綺懼姏錛屾湁鏃朵負浜嗚璁′竴縐嶇晫闈㈠竷灞浼氳冭檻濂藉嚑澶╋紝鎴栬呬負浜嗕紭鍖栧鐞嗛熷害璋冩暣瀹炵幇鏂瑰紡錛岀敋鑷蟲暣涓噸鏋勩傝櫧鐒剁幇鍦ㄤ篃涓嶅敖瀹岀編錛屼絾鎴戜竴鐩村湪灝介噺鍦板幓鍋氥傚緢澶氱悊鎯崇殑鍔熻兘灝氭湭瀹炵幇錛岄偅浜涘彲鑳戒笉鍐嶈娣誨姞浜嗭紝瀹炲湪娌℃湁鏃墮棿銆?/span>
鏈蔣浠朵緵浜ゆ祦瀛︿範浣跨敤錛屾偍鏃犻』涓烘鏀粯璐圭敤錛屼絾涓嶅緱鐢ㄤ簬鍟嗕笟鐢ㄩ斻?/span>
鑷磋阿錛?/span>Easy, hero, 浠嬩簬01, 甯堝倕:nooby
鐗堟潈鎵鏈夛細Z錕犲ぉ浣?/span>
Win鍐呮牳椹卞姩寮鍙?/span>QQ緹わ細75446994
瑙嗛緙栬В鐮?/span>QQ緹わ細85390662
Email: shangxinjian1972@163.com
2010/9/14 浜庡寳浜?/span>
錛?錛夊畨瑁匔ygwin銆?/p>
涓嬭澆鍦板潃錛?a target="_parent" style="line-height: 22px; text-decoration: none; color: rgb(255, 57, 248); ">http://www.cygwin.com/setup.exe
浠ヤ笅閫夐」涓哄繀閫夐」錛堝ソ璞℃槸涓嶅叏錛夛紝鐗堟湰鍏ㄦ寜鏈鏂扮殑錛屾潯浠跺厑璁哥殑璇濓紝鍙互鍏ㄩ儴瀹夎銆傚崰鐢ㄧ┖闂存瘮杈冨ぇ銆?/p>
Archive
unzip (5.52-2)
zip (2.32-2)
Devel
autoconf (4-1 2.13-3 2.61-1)
automake (2-1 1.10-1 1.4p6-4 1.5-2 1.63-3 1.7.9-3 1.8.5-3 1.9.6-2)
binutils (20080624)
cvs (1.11.22-1)
gcc (3.4.4-3)
gcc-core (3.4.4-3)
gcc-g++ (3.4.4-3)
gcc-mingw (20040810-1)
gcc-mingw-core (20050522-1)
gcc-mingw-g++ (20050522-1)
gdb (6.8-2)
gettext (0.15-1)
gettext-devel (0.15-1)
git (1.6.0.2-1)
libiconv (1.11-1)
libgcrypt-devel (1.41-4)
libtool (1.5.27a-1)
make (3.81-2)
mingw-runtime (3.15.1-1)
nasm (2.02-1)
patchutils (0.2.31-2)
pkg-config (0.23a-2)
subversion (1.5.2-1)
Editor
vim (7.2-3)
Libs
expat (2.0.1-1)
libgcrypt (1.4.1-4)
Web
curl (optional: for building extras/contrib) (7.16.3-1)
wget (optional: for building extras/contrib) (1.11.3-1)
涓嬭澆鍦板潃錛?/p>
瑙e帇鍛戒護錛歵ar xjf arm-mingw32ce-0.59.1.tar.bz2 -C
鍦╳indows涓嬭В鍘嬩篃琛岋紝浣嗘湁鐨勬椂鍊欎細灝戞枃浠訛紝鏈濂界敤linux鍛戒護瑙e帇錛岃В鍘嬪畬鎷瘋礉鍒?opt/mingw32ce (榛樿瑙e帇鍦ㄥ綋鍓嶇洰褰曪紝榪欎釜鍖呮槸涓帇緙╁寘錛屾病鏈夎礬寰?銆?/p>
錛?錛夊畨瑁呯涓夋柟搴撱?br style="line-height: 22px; ">
涓嬭澆鍦板潃錛?/p>
http://download.videolan.org/pub/testing/contrib/contrib-20091114-wince-bin-gcc-4.1.0-runtime-3.15.2-only.tar.bz2
瑙e帇鍒幫細
/usr/wince
娉ㄦ剰涓涓棶棰橈細姝ゅ涓嬭澆鐨勫簱錛屼竴瀹氳鍜孷LC浠g爜鍖歸厤銆?br style="line-height: 22px; ">
涓嬭澆鍦板潃錛?/p>
http://download.videolan.org/pub/videolan/vlc/1.0.5/vlc-1.0.5.tar.bz2
瑙e帇鐩綍錛?/p>
\home\UserName\vlc-1.0.5\
騫朵笖榪涘叆璇ョ洰褰曟墽琛岋細
./bootstrap
涓鑸病鏈夐敊璇紝鍙兘鍑虹幇鐨勯敊璇細
+ aclocal-1.9 -I m4
/usr/bin/m4:configure.ac:4643: cannot create temporary file for diversion: Permission denied
autom4te-2.61: /usr/bin/m4 failed with exit status: 1
aclocal-1.9: autom4te failed with exit status: 1
鍒嗘瀽錛氭潃姣掕蔣浠舵湁鍏崇郴銆?/p>
瑙e喅鏂規硶錛氬叧闂潃姣掕蔣浠墮噸鏂拌繍琛?/bootstrap銆?/p>
鑷蟲鍑嗗宸ヤ綔灝卞畬鎴愩?/p>
錛堜簩錛夐厤緗紪璇戦夐」
寤虹珛涓涓猚onf-vlc.sh鏂囦歡錛屽緩璁敤UltraEdit鎵撳紑錛岀紪杈戯紝濡傛灉鐩存帴鏂囨湰緙栬緫鐨勮瘽鏈鍚庣紪杈戝畬鐨勬枃浠墮渶瑕佺敤
dos2unix conf-vlc.sh
杞崲鑴氭湰鐨勭紪鐮佹牸寮忋傦紙娉ㄦ剰琛屽熬鐨勭┖鏍煎拰鏂滅嚎錛屾渶鍚庝竴琛屽彧鏈夌┖鏍兼病鏈夋枩綰匡級銆傛枃浠剁殑寮濮嬪嚑琛屾槸璁劇疆涓浜涜礬寰勶紝涓鑸篃涓嶉渶瑕佷慨鏀廣傚悗杈歸儴鍒嗕富瑕佹槸瀵筕LC鐨勫姛鑳界殑娣誨姞鍜屽垹闄ゃ傛湁寰堝閫夐」閮芥湁榛樿鍊鹼紝鍏蜂綋璇鋒墽琛屽懡浠わ細
./configure –help > conf.txt
鍚庯紝鍦╟onf.txt涓煡鐪嬪叿浣撻夐」璁劇疆璇存槑銆?/p>
涓嬮潰鐨勫垪鍑虹殑鏄紝VLC1.0.5鐗堟湰璁劇疆鎴愬姛鐨刢onf-vlc.sh
PATH=/opt/mingw32ce/bin:$PATH \
CPPFLAGS="-I/usr/wince/include -D_WIN32_WCE=0x0500" \
LDFLAGS="-L/usr/wince/lib" \
PKG_CONFIG_LIBDIR=/usr/wince/lib/pkgconfig \
./configure --host=arm-mingw32ce \
--enable-dshow --enable-bda --disable-hal --disable-activex --disable-vlc \
--disable-directx --disable-dvdnav --disable-libgcrypt --enable-wingdi \
--disable-remoteosd --disable-sdl --disable-skins2 \
--disable-faad --enable-mad --enable-wingdi --enable-waveout \
--enable-mkv --enable-httpd --enable-libmpeg2 --enable-ogg \
--enable-live555 --enable-realrtsp --enable-bda \
--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
--with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--enable-csri --enable-libass --enable-asademux --enable-freetype=/usr/wince/freetype-2.3.12 \
--enable-release --enable-disable --enable-optimizations --enable-sse --enable-mmx --enable-optimize-memory
緙栬緫瀹宑onf-vlc.sh鏂囦歡錛屾墽琛岃剼鏈細
./conf-vlc.sh
濡傛灉鑴氭湰閬囧埌浜嗙被浼糚ermission denied鐨勯敊璇紝鎻愬崌鑴氭湰鐨勬潈闄愶細
chmod 777 configure-vlc01.sh
濡傛灉榪樻湁閿欒錛屼竴鑸槸瀵瑰簲鐨勫簱娌℃湁錛屾垨鑰呯増鏈笉瀵廣?/p>
瑙佸埌浠ヤ笅鍐呭璇存槑鑴氭湰榪愯鎴愬姛浜嗐?/p>
You can tune the compiler flags in vlc-config.
To build vlc and its plugins, type `./compile' or `make'.
鑷蟲閰嶇疆宸ヤ綔灝卞畬鎴愪簡
鎵ц鍛戒護錛?/p>
make
濡傛灉鍒氭墽琛屽嚑琛屽氨鍑虹幇閿欒錛岃閲嶆柊璁劇疆PATH錛屽懡浠わ細
PATH=/opt/mingw32ce/bin:$PATH
濡傛灉涓旈亣鍒板叧閿瓧atoll鐨勯敊璇紝鎵撳紑config.h鎼滅儲鍏抽敭瀛梐toll
娉ㄦ帀浠ヤ笅浠g爜錛?/p>
#define HAVE_ATOLL 1
濡傛灉涓旈亣鍒板叧閿瓧iconv鐨勯敊璇紝鎵撳紑config.h鎼滅儲鍏抽敭瀛梚conv
娉ㄦ帀浠ヤ笅浠g爜錛?/p>
#define HAVE_ICONV 1
鍐嶉亣鍏朵粬閿欒錛屾鏌ib鏄惁姝g‘錛屽疄鍦ㄤ笉琛屽皢鐩稿叧妯″潡鍦?a name="OLE_LINK1" style="line-height: 22px; text-decoration: none; color: rgb(255, 57, 248); ">conf-vlc.sh
涓璬isable鎺夈傦紙闇瑕侀噸鏂拌繍琛宑onf-vlc.sh錛?/p>
鏈鍚庢墦鍖呫?/p>
鎵ц錛?/p>
make package-wince
灝辮兘鐩存帴灝嗙敓鎴愮殑鏂囦歡鎵撳寘鎴恦lc-1.0.5.zip
鎴栬呮墽琛岋細
make package-wince-base
寰楀埌涓涓獀lc-1.0.5鐨勭洰褰?/p>
鑷蟲鎴戜滑灝辮兘寰楀埌鎴戜滑瑕佺殑DLLs浜?/p>
鍘熷湴鍧錛?/p>
http://bk6.blog.163.com/blog/static/24498560201051193449196/
浠呬粎浣跨敤鍓嶄竴涓樉紺虹殑鍩哄噯甯ф潵緙栫爜鐨勫撫琚О涓?#8220;P甯?#8221;錛屽悓鏃朵嬌鐢ㄥ墠涓涓樉紺哄撫鍜屾湭鏉ュ撫浣滀負鍩哄噯甯ц繘琛岀紪鐮佺殑甯хО涓?#8220;B甯?#8221;銆傚湪閫氬父鐨勫満鏅腑錛岀紪瑙g爜鍣ㄧ紪鐮佷竴涓狪甯э紝鐒跺悗鍚戝墠璺寵繃鍑犱釜甯э紝鐢ㄧ紪鐮両甯т綔涓哄熀鍑嗗撫瀵逛竴涓湭鏉甯ц繘琛岀紪鐮侊紝鐒跺悗璺沖洖鍒癐甯т箣鍚庣殑涓嬩竴涓撫銆傜紪鐮佺殑I甯у拰P甯т箣闂寸殑甯ц緙栫爜涓築甯с備箣鍚庯紝緙栫爜鍣ㄤ細鍐嶆璺寵繃鍑犱釜甯э紝浣跨敤絎竴涓狿甯т綔涓哄熀鍑嗗撫緙栫爜鍙﹀涓涓狿甯э紝鐒跺悗鍐嶆璺沖洖錛岀敤B甯у~鍏呮樉紺哄簭鍒椾腑鐨勭┖闅欍傝繖涓繃紼嬩笉鏂戶緇紝姣?2鍒?5涓狿甯у拰B甯у唴鎻掑叆涓涓柊鐨処甯с備緥濡傦紝鍥?縐嶇粰鍑轟簡涓涓吀鍨嬬殑瑙嗛甯у簭鍒椼?/p>
閫氬父錛屾洿鎹㈠満鏅悗鐨勭涓甯у氨鏄?span>I甯э紝I甯у簲褰撳叏甯т紶閫併備粠鍘嬬緝鐨勭▼搴︽潵鐪嬶紝I鐢婚潰鐨勫帇緙╅噺鏈灝戯紱P鐢婚潰嬈′箣錛屽畠鏄互I鐢婚潰涓哄熀紜錛汢鐢婚潰鍘嬬緝鏈澶氥備負浜嗗姞澶у帇緙╂瘮錛岄氬父鍦↖甯у悗闈㈢浉闅?甯э紙鏈澶?甯э級璁劇疆1涓狿甯э紝鍦↖銆丳甯т箣闂撮兘鏄疊甯э紝鍦ㄤ袱涓狿甯т箣闂翠篃鏄緗?锝?甯甯с侭甯т紶閫佸畠涓嶪甯ф垨P甯т箣闂寸殑宸間俊鎭紝鎴栬匬甯т笌鍚庨潰P甯ф垨I甯т箣闂寸殑宸間俊鎭紝鎴栬呭畠涓庡墠鍚嶪銆丳甯ф垨P銆丳甯у鉤鍧囧間箣闂寸殑宸間俊鎭傚綋涓諱綋鍐呭鍙樺寲鎰堝ぇ鏃訛紝涓や釜I鐢婚潰涔嬮棿鐨勫撫鏁板艱秺灝忥紱褰撲富浣撳唴瀹瑰彉鍖栧皬鏃訛紝I闈㈢敾鐨勯棿闅斿彲浠ラ傚綋澶т竴浜涖傛垨鑰呰錛孊甯с丳甯ф墍鍗犳瘮渚嬭秺澶э紝鍥懼儚鍘嬬緝姣旇秺楂樸備竴鑸袱涓狪鐢婚潰鐩擱殧13锝?5甯э紝鐩擱殧甯ф暟涓嶅疁鍐嶅銆?/span>
涓嬮潰浠?span>15甯т負渚嬶紝璇存槑VCD鍥懼儚甯х殑鎺掑垪欏哄簭銆侷銆丳銆丅涓夌鐢婚潰鐨勫吀鍨嬭緗柟寮忥紝瀵筃TSC鍒跺叡綰﹂渶鍗婄鏃墮棿銆傝妭鐩緭鍏ラ『搴忔槸鎸夊疄闄呭嚭鐜伴『搴忔帓鍒楃殑錛屽嵆I銆丅銆丅銆丳銆丅銆丅銆丳銆丅銆丅……I銆丅銆丅銆丳……錛涗絾涓轟簡瑙g爜鏃朵究浜庝粠I銆丳鐢婚潰鎻掕ˉ寰楀埌B鐢婚潰錛屽湪緙栫爜褰曞埗鑺傜洰鏃訛紝灝嗛『搴忔敼鍙樹簡錛屽嵆鎸夌収I銆丳銆丅銆丅……欏哄簭錛屽嵆鏀逛負鎸夊師鏉?銆?銆?銆?銆?銆?銆?銆?銆?銆?…鐨勭敾闈㈤『搴忋傝В鐮佹椂鍏堣В鍑?甯с?甯э紝鍐嶇敱鍏舵彃琛ラ嫻嬭綆楀緱鍑?甯с?甯х瓑絳夈備負姝わ紝欏誨湪瑙g爜鍣ㄥ唴璁劇疆鍔ㄦ佸瓨鍌ㄥ櫒錛屽皢I銆丳甯у厛瑙g爜騫跺瓨鍌紝鍐嶈綆楀嚭鍚勪釜B甯с備笉榪囨渶鍚庤緭鍑烘椂錛岃繕鏄簲褰撴寜鐓у疄闄呮挱鏀鵑『搴忛噸緇勮鍑猴紝鎸夋紜『搴忚緭鍑恒?/span>
1. encode yuv file
ffmpeg -s cif -vcodec mpeg4 -i paris.yuv paris.avi
-s 鎸囧畾甯уぇ灝?cif 涓?352x288錛宷cif 涓?176x144錛?cif 涓?704x576
-vcodec 鎸囧畾閲囩敤鐨勭紪鐮佸櫒
-i 鎸囧畾杈撳叆鏂囦歡
2. output raw YUV420P file
ffmpeg -i paris.avi paris0.yuv
3. 灝嗕竴孌佃棰戣緭鍑轟負鍥劇墖搴忓垪
ffmpeg -i 1.avi cat%d.png -vcode png
-vcodec mjpeg
-vcodec ppm
ffmpeg -i 1.avi cat%04d.jpg -vcodec mjpeg -ss 0:1:2 -t 0:0:1
灝?.avi瑙嗛 1鍒?2縐?澶勫紑濮嬶紝鎸佺畫1縐掗暱鐨勮棰戣緭鍑轟負jpg鐨勫簭鍒?br>
ffmpeg -vcodec mjpeg -i 1.flv test%02d.jpg -ss 0:0:2 -t 0.001
-t 琛ㄧず鎸佺畫鏃墮棿涓?.001縐掞紝榪欎釜鍛戒護鐩稿綋浜庢埅鍙栧紑濮?縐掑鐨勪竴騫卝peg鐨勫浘鐗?br>
4. 澶氳緭鍏ュ崟杈撳嚭
ffmpeg -i /tmp/a.wav -s 640x480 -i /tmp/a.yuv /tmp/a.mpg
5. 鍗曡緭鍏ュ杈撳嚭
ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0
-map file:stream_index 鎸囧畾鍝竴涓緭鍏ユ祦鐢ㄤ簬杈撳嚭嫻侊紝欏哄簭瀵瑰簲
6. DVD to mpeg4
ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp2 -ab 128 snatch.avi
鍘嬪埗楂樺搧璐╩p4鐨勫弬鑰冨弬鏁幫細
'-mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -pass 1/2'
鍙互璇曡瘯錛?'-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'
7. encode mpeg1/mpeg2
ffmpeg -i 1.avi -vcodec mpeg2video 2.mpg
娉ㄦ剰mpeg2鐨刢odec涓?mpeg2video
鍏朵粬codec鍙互浣跨敤 ffmpeg -formats 鏌ョ湅
鍘嬪埗楂樺搧璐╩p1/mp2鐨勫弬鑰冨弬鏁幫細
'-mbd rd -flags +trell -cmp 2 -subcmp 2 -g 100 -pass 1/2'
娉ㄦ剰錛屽姞 '-g 100' 鍙兘浼氫嬌鏌愪簺瑙g爜鍣ㄦ病娉曡В鐮?
鍙互璇曡瘯錛?'-bf 2', '-flags qprd', '-flags mv0', '-flags skiprd'
8. encode flv
ffmpeg -i 1.avi -ab 56 -ar 22050 -b 500 -r 15 1.flv
9. X 灞忓箷褰曞儚
FFmpeg can grab the X11 display.
ffmpeg -f x11grab -i :0.0 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
ffmpeg -f x11grab -i :0.0+10,20 /tmp/out.mpg
0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable.
10 is the x-offset and 20 the y-offset for the grabbing.
10. 闊寵棰戦噰闆?br>
ffmpeg -f audio_device -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
Note that you must activate the right video source and channel before launching FFmpeg with
any TV viewer such as xawtv (http://bytesex.org/xawtv/) by Gerd Knorr. You also have to set
the audio recording levels correctly with a standard mixer.
11. 甯哥敤閫夐」
-i filename 杈撳叆鏂囦歡
-f fmt 寮鴻揩閲囩敤鏍煎紡fmt
-y 瑕嗙洊杈撳嚭鏂囦歡
-ss position 鎼滅儲鍒版寚瀹氱殑鏃墮棿澶勫紑濮?[-]hh:mm:ss[.xxx]鐨勬牸寮忎篃鏀寔
-b bitrate 璁劇疆姣旂壒鐜囷紝緙虹渷200kb/s
-r fps 璁劇疆甯ч 緙虹渷25
-s size 璁劇疆甯уぇ灝?鏍煎紡涓篧XH 緙虹渷160X128.涓嬮潰鐨勭畝鍐欎篃鍙互鐩存帴浣跨敤錛?br> sqcif 128X96 qcif 176X144 cif 352X288 4cif 704X576
-vcodec codec 寮哄埗浣跨敤codec緙栬В鐮佹柟寮忋?濡傛灉鐢╟opy琛ㄧず鍘熷緙栬В鐮佹暟鎹繀欏昏鎷瘋礉銆?br>
-sameq 浣跨敤鍚屾牱瑙嗛璐ㄩ噺浣滀負婧愶紙VBR錛?br>
-g gop_size 璁劇疆鍥懼儚緇勫ぇ灝?br>
-intra 浠呴傜敤甯у唴緙栫爜
-bf frames 浣跨敤frames B 甯э紝鏀寔mpeg1,mpeg2,mpeg4
-ab bitrate 璁劇疆闊抽鐮佺巼
-ar freq 璁劇疆闊抽閲囨牱鐜?br>
-ac channels 璁劇疆閫氶亾 緙虹渷涓?
-an 涓嶄嬌鑳介煶棰戠邯褰?br>
-acodec codec 浣跨敤codec緙栬В鐮?br>
-benchmark 涓哄熀鍑嗘祴璇曞姞鍏ユ椂闂?br>
-hex 鍊懼掓瘡涓涓緭鍏ュ寘
12. mpayer 鎴浘錛?br>
mplayer -ss START_TIME -noframedrop -nosound -vo jpeg -frames N NAME_OF_VIDEO_FILE
鑾峰彇瑙嗛鏃墮暱(seconds)錛?br>
mplayer -identify movie-filename -nosound -vc dummy -vo null | grep ID_LENGTH
13. 蹇熷悎騫惰棰戞枃浠訛細
mencoder -oac copy -ovc copy -idx -o output.avi video1.avi video2.avi video3.avi
鍥? 鍍忔槧灝勬垚Slice Group,灝辨槸鎶婂畯鍧楁垨鑰呭畯鍧楀榪涜鏄犲皠鎴愪笉鍚岀殑Slice Group錛圫lice Group,0銆丼lice Group,1絳夌瓑錛夛紝鍦ㄤ笉鍚岀殑Slice Group涓啀榪涜鍒嗘垚Slice 錛岀浉瀵逛簬Slice Group鏉ヨ錛孲lice 鍖呭惈Slice Group鍐呴儴鎸夌収鍏夋爡鎵弿欏哄簭鎺掑垪鐨勬暣鏁頒釜瀹忓潡鎴栧畯鍧楀錛屼絾鏄嫢鏄浉瀵逛簬鍥懼儚鏉ヨ騫朵笉涓瀹氭槸鎸夊厜鏍呮壂鎻忕殑欏哄簭榪炵畫鎺掑垪鐨勶紝鍥犱負涓棿緇忚繃浜嗗浘鍍忓埌 Slice Group鐨勬槧灝勩係lice Group鐨勬彁鍑烘槸涓轟簡閲囩敤FMO瀹炵幇閿欒闅愯棌銆傝嫢鏄噰鐢ㄦ槧灝勶紝閭d箞鍦ㄥ悓涓Slice Group涓殑鐩擱偦瀹忓潡鍦ㄥ疄闄呭浘鍍忎腑涓嶄竴瀹氭槸鐩擱偦鐨勶紝 閭d箞褰撴煇涓涓猄lice Group鍐呯殑Slice 鐨勫畯鍧楀彂鐢熶涪鍖呯瓑閿欒鐨勬椂鍊欙紝灝卞彲浠ュ埄鐢ㄥ叾浠朣lice Group鍐呯殑Slice鐨勫畯鍧楀鍏惰繘琛岄嫻嬫仮澶嶏紝鍥犱負鍏朵粬Slice Group涓殑瀹忓潡鎴栧畯鍧楀涓庤涓㈠け瀹忓潡鎴栧畯鍧楀鍦ㄤ綅緗笂鏄浉閭葷殑錛岀浉鍏蟲ф渶寮猴紝棰勬祴璇樊鏈灝忋傚綋涓嶉噰鐢⊿lice Group鐨勬椂鍊欙紝鑻ユ槸Slice鐨勫畯鍧楀彂鐢熼敊璇紝閭d箞灝卞鑷翠竴閮ㄥ垎絀洪棿浣嶇疆鐩擱偦鐨勫畯鍧楁垨瀹忓潡瀵規棤娉曡В鍑猴紝閭d箞灝卞緱鍒╃敤鍛ㄨ竟瀹忓潡鎴栧畯鍧楀瀵瑰叾榪涜棰勬祴錛岃繖 鏍風殑棰勬祴鏁堟灉闅忕潃瓚婇潬榪戝嚭閿欏尯鍩熶腑蹇冭秺宸傛樉鐒訛紝閲囩敤Slice Group鏂規硶鐨勯嫻嬫晥鏋滆濂姐傚鍥炬墍紺?/p>
鑻ョ孩鑹茶竟妗嗗尯鍩熷彂鐢熼敊璇紝涔熷嵆鏌怱lice0鍙戠敓閿欒錛岄偅涔堜笂鍥句腑璇ュ尯鍩熷畯鍧楀搴旂殑鍘熷鍥懼儚鐨勪綅緗宸﹁竟鎵紺猴紝鐢盨lice Group1鎭㈠Slice Group0 錛岀敱鍏剁┖闂寸浉鍏蟲у彲鐭ユ仮澶嶆晥鏋滃簲璇ヤ細涓嶉敊銆?/p>
浣嗘槸涓嬪浘鐨勬儏鍐靛氨涓嶄竴鏍蜂簡錛屼袱涓墖鐨勭┖闂寸浉鍏蟲ф病閭d箞寮猴紝鎭㈠鏁堟灉姣斾笂涓縐嶆柟娉曞樊銆?/p>
I 甯х紪鐮佺殑鍩烘湰嫻佺▼涓猴細
2銆丮PEG鍘嬬緝涓殑 I銆丅銆丳甯?/strong> 棣栧厛,MPEG-1鍘嬬緝鐨勫熀鏈濇兂:甯у唴鍘嬬緝鍜屽撫闂村帇緙┿?br>鍏舵,鏃墮棿鐩稿叧鎬х殑緇熻鍒嗘瀽:緇熻鐨勭粨鏋滆〃鏄?鍦ㄩ棿闅?~2甯х殑鍥懼儚涓?鍚勫儚绱犲彧鏈?0%浠ヤ笅鐨勭偣,鍏朵寒搴﹀樊鍊煎彉鍖栬秴榪?%,鑰岃壊搴﹀樊鍊肩殑鍙樺寲鍙湁1%浠ヤ笅銆?br> |
鍘? 濮嬭棰戝撫錛堟渶鍘熷鐨勮棰戞暟鎹級鏍規嵁緙栫爜鐨勯渶瑕侊紝浠ヤ笉鍚岀殑鏂瑰紡榪涜鎵弿浜х敓涓ょ瑙嗛甯э細榪炵畫鎴栭殧琛岃棰戝撫錛岄殧琛岃棰戝撫鍖呮嫭欏跺満鍜屽簳鍦猴紝榪炵畫錛堥亗琛岋級鎵弿鐨勮 棰戝撫涓庨殧琛屾壂鎻忚棰戝撫鏈夌潃涓嶅悓鐨勭壒鎬у拰緙栫爜鐗瑰緛錛屼駭鐢熶簡鎵璋撶殑甯х紪鐮佸拰鍦虹紪鐮併備竴鑸儏鍐典笅錛岄亗琛屽撫榪涜甯х紪鐮侊紝闅旇甯у彲鍦ㄥ撫緙栫爜鍜屽満緙栫爜闂撮夊彇銆?img src="http://p.blog.csdn.net/images/p_blog_csdn_net/sunnymov/EntryImages/20090817/%E5%BF%AB%E7%85%A7-2.jpg" alt="鎵弿鏍煎紡" height="295" width="816">
鍦ㄥ撫緙栫爜涓紝鍙傝冧負甯у浘鍍忥紝閲囩敤甯ц繍鍔ㄨˉ鍋匡紝涓や釜鍦烘槸鑱斿悎緙栫爜錛?/span>錛涘湪鍦虹紪鐮佷腑錛屽弬鑰冧負鍦哄浘鍍?/span>錛屼袱涓満鏄垎鍒紪鐮侊紝閲囩敤鍦鴻繍鍔ㄨˉ鍋褲?/span>
甯х紪鐮佷笌鍦虹紪鐮佺殑閫夋嫨
1.瀵逛簬榪愬姩嬋鐑堢殑鎯呭喌錛屼篃灝辨槸鐢婚潰鍙樺寲蹇紝鐢婚潰涓殑浜虹墿銆佽儗鏅瓑絳夌煭鏃墮棿閲屽氨浼氭湁寰堝ぇ鐨勫彉鍖栥傝繖鏍鳳紝濡傛灉浣跨敤甯х紪鐮侊紝鐢變簬鐩擱偦涓よ錛堜竴琛屽湪欏跺満錛屼竴琛屽湪搴曞満錛夌殑鎵弿鏃墮棿鐩稿樊浜嗚澶氾紙鍥犱負鏄殧琛屾壂鎻忥級錛岄偅涔堢敱浜庡彉鍖栧墽鐑堬紙鐢婚潰鍦ㄧ煭鏃墮棿鍐呭氨浼氫駭鐢熷緢澶х殑宸紓錛夛紝鐩擱偦琛屾病鏈夊お澶氱殑鐩稿叧鎬с傝屽浜庡満鍥懼儚鏉ヨ錛岀浉閭昏鐨勬壂鎻忔椂闂撮潪甯哥煭錛屾墍浠ュ嵆浣胯繍鍔ㄥ墽鐑堬紝浣嗚繕鏄湁寰堝己鐨勬椂闂寸浉鍏蟲с傛墍浠ュ湪榪欑鎯呭喌涓嬬敤鍦虹紪鐮侊紝灝辮兘鍘婚櫎鏃墮棿涓婄殑鍐椾綑銆?/p>
2.瀵逛簬鐩稿闈欐娌℃湁浠涔堝彉鍖栫殑鎯呭喌搴旇鐩稿濂界悊瑙o紝鍥犱負鐢婚潰鍐呭娌℃湁澶ぇ鐨勫彉鍖栵紝鎵弿鏃墮棿鐨勯暱鐭茍涓嶅獎鍝嶇浉鍏蟲с傚掓槸甯у満鐨勭浉閭昏鐢變簬鏄湡姝f剰涔変笂鐨勭浉閭伙紝鎵浠ョ┖闂寸浉鍏蟲ц偗瀹氳姣斿満鐨勭浉閭昏錛堝叾瀹炴槸闅旇錛夌殑絀洪棿鐩稿叧鎬ц澶с傞偅涔堝湪榪欑鎯呭喌涓嬩嬌鐢ㄥ撫緙栫爜錛屽氨鑳藉幓闄ょ┖闂翠笂鐨勫啑浣欍?/p>
浜屻佽棰戝簭鍒楀撫銆佸満緙栫爜鏂瑰紡
1.鍥哄畾甯х紪鐮?/span>(鍏ㄥ撫)----瑙嗛搴忓垪鐨勫叏閮ㄥ撫濮嬬粓閲囩敤甯х紪鐮佹柟寮忋?/span>
2.鍥哄畾鍦虹紪鐮侊紙鍏ㄥ満錛?/span>
瑙嗛搴忓垪涓撫琚垎鎴愪袱涓満鐙珛緙栫爜銆傜紪鐮佽鍒欙細
1. I甯у彲緙栫爜鎴愪袱涓?/span>I鍦烘垨涓涓?/span>I鍦哄拰涓涓?/span>P鍦猴紝鍗?/span>II銆?/span>IP.
2. P甯у彲緙栫爜鎴愪袱涓?/span>P鍦烘垨涓涓?/span>P鍦哄拰涓涓?/span>B鍦猴紝鍗?/span>PP銆?/span>PB.
3. B甯у彲緙栫爜鎴愪袱涓?/span>B鍦猴紝鍗?/span>BB.
3.鍥懼儚綰у撫銆佸満鑷傚簲緙栫爜 (PAFF)
瑙嗛搴忓垪鑳借緙栫爜鎴愪竴涓撫鎴栦袱涓満錛岃嚜閫傚簲閫夋嫨鍘熷垯鏄牴鎹噰鐢ㄨ縐嶇紪鐮佹柟寮忕殑姣忎竴甯х殑RD鍊箋?/span>
4.瀹忓潡綰у撫銆佸満鑷傚簲錛?/span>MBAFF錛?/span>
涓轟簡榪涗竴姝ユ彁楂樼紪鐮佹晥鐜囷紝閲囩敤浜嗗畯鍧楃駭甯у満鑷傚簲.,瀹忓潡綰ч噰鐢ㄤ簡瀹忓潡瀵癸紙MBP錛変負鍩烘湰緙栫爜鍗曞厓錛堝鍥?/span>2鎵紺猴級
H.264閲囩敤鐨?/span>MBAFF鏂規錛?/span>
鍦ㄥ浘鍍忎腑榪愬姩姣旇緝澶х殑鍦版柟閲囩敤鍦虹紪鐮侊紝榪愬姩姣旇緝灝忕殑鍦版柟閲囩敤甯х紪鐮侊紝緙栫爜欏哄簭渚嬪瓙濡備笅錛?/span>
鍘熸枃閾炬帴錛?/p>
http://blog.csdn.net/sunnymov/archive/2009/08/17/4454424.aspx
鏈▼搴忔椂涓嬈綯S闈欐佸垎鏋愬伐鍏鳳紝鐩鎬俊璁稿鍔熻兘鏄護浜烘鍠滅殑錛岃濡傚澶ф枃浠剁殑鏀寔錛屼互鍙婂鐞嗛熷害絳夌瓑銆傝蔣浠跺浜庝笉鏂畬鍠勪腑錛屽皢鏈夋洿澶氫紭縐鐨勫湴鏂逛互鍙嬪ソ鐨勬柟寮忔坊鍔犺繘鏉ャ?/p>
鍔熻兘綆浠嬶細
1.TS鍖呭垪琛ㄦ樉紺猴紝娌℃湁鏉$洰闄愬埗
2.鍗佸叚榪涘埗鏄劇ず鏁版嵁
3.TS澶達紝璋冩暣瀛楁錛屼互鍙奝ES鍒嗘瀽
4.淇濆瓨鍗曚釜鏁版嵁鍖?br>5.瀵瑰ぇ鏂囦歡鐨勬敮鎸侊紝鍙互鏀寔鍑犵櫨G鐨勬枃浠?br>6.鍙夋暟鎹垎鏋愶紝閫夋嫨鍙垎鏋愭枃浠剁殑鏌愪竴閮ㄥ垎鏁版嵁
7.psi/si琛ㄥ垎鏋?br>8.pid緇熻
9.鍚屾鍒嗘瀽錛屽浘琛ㄦ樉紺?/p>
鎴浘錛?br>
榪愯鐜瑕佹眰錛?br>1.Windowns2000浠ヤ笂鎿嶄綔緋葷粺
2.IE6.0浠ヤ笂
3.鍐呭瓨錛?28M浠ヤ笂
濡傛灉鎮ㄩ亣鍒頒粈涔堥棶棰橈紝璇鋒彁浜や綔鑰呬俊綆便?br>
鏈蔣浠朵緵浜ゆ祦瀛︿範浣跨敤錛屾偍鏃犻』涓烘鏀粯璐圭敤錛屼絾涓嶅緱鐢ㄤ簬鍟嗕笟鐢ㄩ斻?br>鑷磋阿錛欵asy, hero, 浠嬩簬01, 甯堝倕:nooby
鐗堟潈鎵鏈夛細2010 Z錕犲ぉ浣?br>
Win鍐呮牳椹卞姩寮鍙慟Q緹わ細75446994
瑙嗛緙栬В鐮丵Q緹わ細85390662
Email: shangxinjian1972@163.com
涓嬭澆鍦板潃
涓銆丼I淇℃伅鐨勬瀯鎴?/p>
1銆佷俊鎭瀯鎴?/p>
SI淇℃伅鍐呭鏄寜鐓etwork(緗戠粶)→transport strem錛堜紶杈撴祦錛?#8594;service錛堜笟鍔★級→event錛堜簨浠訛級鐨勫垎灞傞『搴忔弿榪幫紝濡傚浘1鎵紺恒係I鏁版嵁淇℃伅鏄寜鐓т竴瀹氱殑鏁版嵁緇撴瀯榪涜瀛樺偍鐨勶紝榪欐牱涓鏉ユ墠鑳借揪鍒版柟渚褲佸揩鎹峰湴榪涜鏁版嵁媯绱㈠拰鎻愬彇銆係I鏁版嵁涓昏鏈夛細緗戠粶淇℃伅銆佷紶杈撴祦淇℃伅銆佷笟鍔′俊鎭佷笟鍔$殑浜嬩歡淇℃伅絳夛紝騫朵笖澶ч噺鐨勪俊鎭兘鏄氳繃鎻忚堪絎︽潵浼犺緭鐨勶紝鎵浠ュ彲鐢ㄦ爲鐘墮摼琛ㄦ潵瀛樺偍鏁版嵁錛屾瀯鎴愪粠緗戠粶銆佷紶杈撴祦銆佷笟鍔°佷簨浠剁殑鏍戠姸緇撴瀯銆傛満欏剁洅鎺ユ敹绔殑瑙f瀽涓昏璐熻矗榪欎簺SI鏁版嵁鐨勯噸寤恒?/p>
鍦ㄦ暟瀛楃數瑙嗙郴緇熶腑錛屼負浜嗚兘鏈夋晥鍦頒粠浼楀鐨勬暟鎹寘涓粍緇囪搗SI淇℃伅錛岃屼嬌鐢ㄤ簡寰堝鐨勬爣璇嗐傛湁Network_id(緗戠粶鏍囪瘑)銆丱riginal_network_id(鍘熷緗戠粶鏍囪瘑)銆乀ransport_stream_id(浼犺緭嫻佹爣璇?銆丼ervice id(涓氬姟鏍囪瘑)銆乪ventid_id(浜嬩歡鏍囪瘑)銆丅ouquet_id(涓氬姟緹ょ粍鏍囪瘑)銆傝繖浜涙爣璇嗘槸浣滀負淇℃伅鏌ユ壘瀹氫綅鐢ㄧ殑錛屼緥濡傦細瑕佸湪涓涓猅S閲屾壘鍑轟竴涓笟鍔′俊鎭紝灝辮鐭ラ亾榪欎釜涓氬姟淇℃伅鍦ㄩ偅涓綉緇滈噷銆佸湪鍝釜TS閲屽拰榪欎釜涓氬姟淇℃伅鍦ㄨ繖涓祦閲岀殑鏍囪瘑錛岃繖鏍蜂竴鏉ワ紝閫氳繃灞傚眰榪囨護錛屽氨鑳界簿紜湴瀹氫綅鎻忚堪榪欎釜涓氬姟淇℃伅鐨勪綅緗紝騫舵妸瀹冧滑鎵懼嚭鏉ヨ繘琛屾暟鎹粍緇囥傚浘1灝遍潪甯告竻妤氬湴琛ㄦ槑浜嗚繖縐嶆煡鎵炬濊礬銆?/p>
涓涓綉緇滀俊鎭敱network_id鏉ュ畾浣嶃?/p>
涓涓猅S鐢眓etwork_id銆丱riginal_network_id銆乀ransport_stream_id鏉ュ畾浣嶏紝鏍囨槑榪欎釜嫻佸湪閭d釜緗戠粶鎾彂錛屽畠鍘熷睘閭d釜緗戠粶錛屽茍緇欏畠鍔犱笂鏍囪瘑銆?/p>
涓涓笟鍔$敱network_id銆丱riginal_network_id銆乀ransport_stream_id銆乻ervice_id鏉ュ畾浣嶏紝鏍囨槑榪欎釜涓氬姟鍦ㄩ偅涓綉緇滄挱鍙戯紝瀹冨師灞為偅涓綉緇滃拰閭d釜嫻侊紝騫剁粰瀹冨姞涓婃爣璇嗐傝繖浣撶幇鍦⊿DT琛ㄤ腑銆?/p>
涓涓簨浠剁敱network_id銆丱riginal_network_id銆乀ransport_stream_id銆乻ervice_id銆乪vent_id鏉ュ畾浣嶏紝鏍囨槑榪欎釜浜嬩歡鍦ㄩ偅涓綉緇滄挱鍙戯紝瀹冨師灞為偅涓綉緇滃拰閭d釜嫻佸強閭d釜涓氬姟錛屽茍緇欏畠鍔犱笂鏍囪瘑銆傝繖浣撶幇鍦‥IT琛ㄤ腑銆?/p>
鎹錛屾牴鎹悇涓猄I琛ㄧ殑鍔熻兘錛屽悇琛ㄧ殑ID緇撴瀯濡備笅錛?/p>
NIT錛歯etwork_id銆丱riginal_network_id銆乀ransport_stream_id 銆乻ervice_id銆?/p>
SDT錛歄riginal_network_id銆乀ransport_stream_id 銆乻ervice_id銆?/p>
EIT錛歄riginal_network_id銆乀ransport_stream_id 銆乻ervice_id銆乪vent_id銆?/p>
BAT錛歜ouquet_id 銆丱riginal_network_id 銆乀ransport_stream_id 銆乻ervice_id銆?/p>
鍙﹀錛岃繕鏈変竴涓狿ID錛堝寘鏍囪瘑錛夛紝瀹冪殑浣滅敤鏄粰姣忎竴涓暟鎹寘鎵撲笂涓涓爣璁幫紝TS鎵胯澆鏈夎棰戞暟鎹侀煶棰戞暟鎹丳SI鍜孲I淇℃伅鏁版嵁銆佸浘鏂囩數瑙嗘暟鎹佸瓧騫曟暟鎹佹暟鎹箍鎾暟鎹佷氦浜掍笟鍔℃暟鎹丆A緋葷粺鐨勬帶鍒朵俊鎭暟鎹瓑絳夛紝闄や簡PSI鍜孲I淇℃伅鏁版嵁鍜孋A緋葷粺鐨勬帶鍒朵俊鎭暟鎹錛屽叾浠栫殑鏁版嵁鐨凱ID閮芥槸閫氳繃PMT琛ㄧ粰鍑虹殑錛孋A緋葷粺鐨勬帶鍒朵俊鎭暟鎹殑PID鏄敱CAT琛ㄧ粰鍑虹殑錛岃屾壙杞戒簡PSI鍜孲I淇℃伅鐨勫悇縐嶈〃鐨凱ID鍊兼槸鍥哄畾鍒嗛厤鐨勩傚涓嬭〃
琛?nbsp; PID鍊?/p>
PAT | 0X0000
CAT | 0X0001
TSDT | 0X0002
NIT銆丼T | 0X0010
SDT銆丅AT銆丼T | 0X0011
EIT銆丼T | 0X0012
RST銆丼T | 0X0013
TDT銆乀OT銆丼T | 0X0014
DIT | 0X001E
SIT | 0X001F
鐢變簬榪欎簺琛ㄦ槸鍒嗛厤浜嗗浐瀹氱殑PID鍊鹼紝鎵浠ユ満欏剁洅灝卞彲浠ユ牴鎹繖浜汸ID鍊兼潵杈ㄨ鍑烘槸浠涔堣〃錛屽茍璇誨彇琛ㄤ腑鐨勬弿榪板弬鏁版潵鐢熸垚EPG淇℃伅鍜屽畬鎴愬悇縐嶆暟鎹殑緇勭粐銆佽В鐮佸嚭鎵闇瑕佺殑鑺傜洰鍜屼俊鎭?/p>
2銆佽〃鐨勬瀯鎴?/p>
琛ㄦ槸緇勬垚SI淇℃伅鐨勪竴縐嶆暟鎹粨鏋勩傚湪TS涓湁寰堝涓嶅悓鑺傜洰鐨勬暟鎹寘錛岃В鐮佸櫒濡備綍紜畾鍝釜鏁版嵁鍖呭睘浜庢煇涓妭鐩紵鍏剁瓟妗堝氨鏄湪TS涓殑PSI鍜孲I淇℃伅閲岋紝榪欎簺淇℃伅綺劇‘鍦版寚寮曞嚭鑾峰緱鏌愯妭鐩笌璇ヨ妭鐩暟鎹寘鐨凱ID涔嬮棿鐨勫叧緋匯?/p>
鐢盡PEG-2瀹氫箟鐨凾S閲岄潰錛屾暟鎹寘鎼哄甫浜嗕袱綾諱俊鎭細涓鏄煶銆佽棰戠瓑绱犳潗鐨勬暟鎹紝浜屾槸PSI琛ㄣ傚叿鏈夌粰瀹歅ID鐨勬暟鎹寘鐨勬湁搴忔帓鍒楀氨褰㈡垚浜員S嫻併侾SI琛ㄩ噷鐨勬壙杞界殑鍐呭涓昏鏄疶S錛堟湰鑺傜洰嫻侊級鐨勬弿榪板弬鏁般傜敱MPEG-2瀹氫箟鐨凱SI涓昏鍖呭惈鏈変笁涓〃錛歅AT銆丳MT銆丆AT銆傛瘡涓〃閮藉彲浣滀負涓涓垨澶氫釜TS鍖呯殑鍑鑽鋒彃鍏S涓紶閫併?/p>
l 瀵逛簬EIT琛ㄧ殑瀛愯〃鍏鋒湁鐩稿悓鐨則able_id銆乷ringinal_network_id銆乼ansport_stream _id銆?service_id鍜寁ersion_number銆?/p>
浠IT琛ㄤ負渚嬨侲IT鐨凱ID鏄?X0012錛屽綋瀹冪殑table_id=0X4E鏃訛紝EIT鎻忚堪鐨勬槸鍦ㄥ綋鍓峊S涓殑褰撳墠/鍚庣畫錛圗IT present/following錛変簨浠朵俊鎭紱table_id=0X4F鏃訛紝EIT鎻忚堪鐨勬槸鍦ㄥ叾瀹僒S涓殑褰撳墠/鍚庣畫錛圗IT present/following錛変簨浠朵俊鎭傝繖涓や釜涓嶅悓鐨勬弿榪板艦鎴愪簡EIT鐨勪袱涓〃銆傛瘡涓〃鍒嗕負涓や釜孌碉紝涓涓鐢ㄦ潵鎻忚堪褰撳墠姝e湪鎾斁鐨勪簨浠訛紝鍙︿竴涓鐢ㄦ潵鎻忚堪鍗沖皢鎾斁鐨勪簨浠躲傛鏃朵袱涓鐨則able_id銆乻ervice_id銆乼ansport_stream_id鏄浉鍚岀殑錛屼絾section_number涓嶇浉鍚岋紝section_number 0x00鐢ㄦ潵鎻忚堪褰撳墠浜嬩歡錛宻ection_number 0x01鎻忚堪涓嬩竴涓簨浠躲?/p>
NIT琛ㄤ富瑕佹槸鎻愪緵鏈夊叧鐗╃悊緗戠粶鐨勪俊鎭紝緗戠粶淇℃伅琛ㄤ紶閫佹湰緗戠粶浠ュ強涓庢鏈夊叧鐨勫叾瀹冪綉緇滅殑涓浜涗俊鎭傛瘡涓綉緇滈兘鏈夊敮涓鐨勮瘑鍒錛坣etwork_id錛夈傜綉緇滀俊鎭〃涓昏鎼哄甫錛氱綉緇滆瘑鍒(Network_ID)銆佺綉緇滃悕縐般佷紶杈撶郴緇熷弬鏁?鏈夌嚎浼犺緭緋葷粺鍙傛暟鍖呮嫭錛氶鐜囥佽皟鍒舵柟寮忋丗EC澶栫爜銆佺鍙風巼銆丗EC鍐呯爜)銆佽妭鐩笟鍔$被鍨嬪強Service_ID絳変俊鎭傛満欏剁洅鍙璋冭皭鍒版惡甯IT琛ㄧ殑浼犻佹祦涓紝鍗沖彲鎻愬彇鍏跺畠緗戠粶鐨勫弬鏁幫紝涓鑸В鐮佸櫒渚垮彲鏍規嵁鎻愬彇鍑烘潵鐨勪俊鎭紝鑷姩鎼滅儲棰戦亾銆?/p>
榪欓噷璇翠竴璇磏etwork_id鍜宱ringinal_network_id鐨勫垎鍒傛瘡涓繍钀ュ晢閮介渶瑕佹敞鍐屽敮涓鐨刵etwork_id錛屽亣璁句腑澶數瑙嗗彴鐨刵etwork_id=0X01錛屽箍宸炵數瑙嗗彴鐨刵etwork_id=0X02 銆傚綋涓ぎ鐢佃鍙扮洿鎺ユ挱鍙戣嚜宸辯殑鑺傜洰鏃訛紝network_id=oringinal_network_id錛屽鏋滅敱騫垮窞鐢佃鍙拌漿鎾腑澶數瑙嗗彴鐨勮妭鐩椂錛岄偅涔坣etwork_id=0X02錛宱ringinal_network_id=0X01銆備篃灝辨槸璇磑ringinal_network_id絳変簬鑺傜洰鍘熷彂榪愯惀鍟嗙殑network_id銆?/p>
鈶?nbsp; 涓氬姟鎻忚堪琛紙SDT錛夌殑浣滅敤
SDT琛ㄦ槸鐢盌VB瀹氫箟鐨勶紝鏄竴涓猄I琛紝鍥犳瀹冩槸涓涓叏灞琛紝涓涓暟瀛楃數瑙嗙郴緇熷搴斾袱涓猄DT琛紝鍒嗗埆涓哄綋鍓嶆祦錛坅ctual transport錛夎〃錛坱able_id=0X42錛夊拰鍏朵粬嫻?other transport)琛紙table_id=0X46錛夈傛瘡涓涓猅S瀵瑰簲涓涓瓙琛紙涔熸湁瀵瑰簲澶氫釜瀛愯〃鐨勶紝濡傚悓涓涓猅S浣嗕笟鍔℃潵鑷笉鍚岀殑original_network錛夛紝閫氳繃tansport_stream_id鍜宱riginal_network_id鏉ュ尯鍒嗐傚浘4灝辨槸涓涓猄DT琛ㄧ殑鏋勬垚鍥俱備粠鍥懼彲鐪嬪嚭錛岃繖涓猄DT琛ㄧ敱涓や釜琛ㄧ粍鎴愶紝涓涓槸褰撳墠嫻佽〃錛屽彧鏈変竴涓瓙琛紱鍙︿竴涓槸鍏朵粬嫻佽〃錛岀敱涓変釜瀛愯〃緇勬垚錛屾瘡涓祦瀵瑰簲涓涓瓙琛ㄣ?/p>
SDT琛ㄧ敤浜庢弿榪扮郴緇熶腑涓氬姟鐨勫悕縐般佷笟鍔℃彁渚涜呫佹槸鍚︽湁鐩稿簲鐨勪簨浠舵弿榪拌〃絳夋柟闈㈢殑淇℃伅錛涗笟鍔℃弿榪拌〃鍙互鎻忚堪褰撳墠浼犺緭嫻侊紝涔熷彲浠ユ弿榪板叾浠栦紶杈撴祦錛岃繖鐢辮〃鐨凾able_ID鏉ュ尯鍒嗐備笟鍔℃弿榪拌〃鎻愪緵浜嗗涓嬬殑淇℃伅錛氬睘浜庡摢涓涓妭鐩笟鍔$兢錛涜妭鐩笟鍔$殑綾誨瀷錛屽PAL銆丯TSC銆丼ECAM銆佽皟棰戝箍鎾佸浘鏂囩數瑙嗐佸噯瑙嗛鐐規挱絳夛紱鑺傜洰涓氬姟鐨勬彁渚涜咃紱鍙互鎺ユ敹璇ヤ笟鍔$殑鍥藉鍜屼笉鍙互鎺ユ敹璇ヤ笟鍔$殑鍥藉錛涙寚鍚戠壒瀹氱殑閾炬帴淇℃伅錛涘疄鐜板噯瑙嗛鐐規挱鐨勬寚瀵間俊鎭紱瀹炵幇澶氱敾闈㈢殑鎺у埗淇℃伅錛涙寚紺轟嬌鐢ㄧ殑鍔犲瘑緋葷粺錛涚粰鍑哄疄鐜頒氦浜掑紡鍥炰紶淇¢亾鐨勭數璇濆彿鐮侊紱鎻愪緵澶氳縐嶇殑鑺傜洰涓氬姟鍚嶇О鍜屽箍鎾呬互鍙婄鏈夋暟鎹備絾鏈甯哥敤鐨勬槸涓氬姟鍒楄〃錛屽嵆瀵逛笟鍔″悕縐扮殑鎻忚堪錛屽涓ぎ1鍙般佸箍宸炴柊闂誨彴銆佺彔姹熷彴絳夌瓑銆?/p>
鈶?nbsp; 浜嬩歡淇℃伅琛紙EIT錛夌殑浣滅敤
EIT琛ㄦ槸鐢盌VB瀹氫箟鐨勶紝鏄竴涓猄I琛紝鍥犳瀹冩槸涓涓叏灞琛紝涓涓暟瀛楃數瑙嗙郴緇熸瘡涓涓笟鍔″搴斾袱縐岴IT琛ㄣ備竴鏄疎IT present/following琛紙鎻忚堪褰撳墠浜嬩歡/鍚庣畫浜嬩歡錛夛紝涓涓笟鍔″搴旂潃涓涓狤IT present/following琛紝EIT present/following琛ㄥ垎涓哄綋鍓嶆祦琛紙table_id=0X4E錛夊拰鍏朵粬嫻佽〃錛坱able_id=0X4F錛夛紝姣忎竴涓祦閫氬父瀵瑰簲6涓紙鏈?涓笟鍔★級EIT present/following瀛愯〃錛屾瘡涓瓙琛ㄧ敱涓や釜孌電粍鎴愶紝鍒嗗埆鏄疎IT present孌靛拰EIT following孌碉紝section_number= 0x00鐨勬鎻忚堪褰撳墠鎾斁鐨勪簨浠訛紝 section_number= 0x01孌墊弿榪板悗緇挱鏀句簨浠訛紝鍥?鎵紺恒傚叾浠栨祦琛ㄧ粨鏋勪笌褰撳墠嫻佽〃鐩稿悓錛涗簩鏄疎IT schedule錛堟椂闂磋〃錛夎〃錛屼竴涓笟鍔℃渶澶氬彲瀵瑰簲16涓狤IT schedule琛紝閭d箞姣忎釜嫻侀氬父鏈澶氬彲瀵瑰簲6錛堜笟鍔℃暟錛?#215;16=96涓瓙琛紝姣忎釜瀛愯〃鐢?56涓緇勬垚錛堢敱浜庡垎孌靛彿鏄?涓瘮鐗癸紝鎵浠ユ渶澶氬彧鑳芥湁256涓垎孌碉級錛屻?/p>
瀵逛簬EIT schedule琛紝瀹冩槸鐢ㄤ綔鎻忚堪涓涓笟鍔″湪涓孌墊椂闂達紙鍙互鏄竴澶┿佷竴鍛紝鏈澶у彲浠ユ槸64澶╋紝鏍規嵁鍐椾綑甯﹀鏉ヨ繘琛岃瀹氾級鍐呮墍鎾斁鐨勮妭鐩畨鎺掞紝鑺傜洰鐨勬挱鍑哄畨鎺掓槸浠ユ椂闂村拰鑺傜洰綆浠嬩綔涓烘弿榪扮殑銆傛椂闂村強鍐呭鏄弿榪頒竴涓簨浠剁殑鏈鍩烘湰鍏冪礌錛屼緥濡傦細鎶婁竴涓笟鍔℃墍鎾斁鐨勬瘡涓涓妭鐩兘鐪嬫垚鏄竴涓簨浠訛紝閭d箞姣忎竴涓妭鐩紑濮嬫挱鏀劇殑鏃墮棿鍜屾挱鏀炬椂闂寸殑闀垮害鍙婁簨浠剁殑鍐呭灝辨槸璇ヤ簨浠剁殑鍩烘湰鍏冪礌錛孍IT schedule瀛愯〃灝辨槸鐢ㄨ繖涓鍩烘湰鍏冪礌鏉ユ弿榪版瘡涓涓簨浠跺茍浜х敓鏌愪竴孌墊椂闂村唴瑕佸彂鐢熺殑鎵鏈変簨浠剁殑鍒楄〃錛屽洜姝IT schedule瀛愯〃鐨勪俊鎭噺寰堝ぇ錛圗IT琛ㄧ殑孌甸檺闀?096瀛楄妭錛夛紝鐢?56涓猻ection緇勬垚錛屾墍浠ュ張寮曞叆浜唖egment錛堢墖孌碉級鐨勬蹇點傛妸256涓鍒嗘垚32涓猻egment錛涗竴涓猻egment鐢?涓猻ection錛堝垎孌碉級緇勬垚錛屾瘡涓猻egment鍙互鎻忚堪3涓皬鏃剁殑浜嬩歡淇℃伅錛屼篃灝辨槸璇達紝涓涓狤IT schedule琛ㄧ敱32涓墖孌電粍鎴愶紝姣忎釜鐗囨鐢?涓垎孌電粍鎴愶紝閫氳繃section_number鏉ュ尯鍒嗭紝閭d箞姣忎釜瀛愯〃鍙弿榪?2*3=96灝忔椂錛?澶╋級鐨勪簨浠朵俊鎭紝鐢變簬涓涓笟鍔℃渶澶氬彲瀵瑰簲鐫16涓狤IT schedule琛紝鍒欏浜庝竴涓笟鍔℃潵璇存渶澶氬彲浠ユ弿榪?6(0X50----0X5F)*4=64澶╃殑浜嬩歡淇℃伅銆傝繖閲岋紝segment鐩稿綋浜庝竴涓簨浠剁粍錛宻ection鏄簨浠剁粍鍐呭叿浣撶殑涓涓簨浠躲侲IT schedule琛ㄤ篃鍒嗕負褰撳墠嫻佽〃錛坱able_id=0X50---0X5F 鍏?6涓級鍜屽叾浠栨祦琛紙table_id=0X60---0X6F 鍏?6涓級錛?EIT schedule琛ㄦ槸鍙夌殑錛堝嵆緋葷粺鍙互鍙戦佹琛ㄤ篃鍙互涓嶅彂閫佹琛級錛屼簨浠朵俊鎭寜鏃墮棿欏哄簭鎺掑垪銆?/p>
EIT琛ㄥ寘鍚簨浠舵垨鑺傜洰鐨勬湁鍏蟲暟鎹紝濡備簨浠剁殑鍚嶇О銆佸紑濮嬫椂闂淬佹寔緇椂闂淬佽繍琛岀姸鎬佺瓑銆備簨浠朵俊鎭〃鎻愪緵濡備笅淇℃伅錛氳妭鐩鐨勬爣璇嗗彿銆佽搗濮嬫椂闂淬佹寔緇椂闂淬佹挱鏀劇姸鎬併佹槸鍚﹀姞瀵嗭紱鎸囧悜鐗瑰畾淇℃伅鐨勯摼鎺ヤ俊鎭紱鑺傜洰孌靛璇鐨勭畝鐭粙緇嶏紱鑺傜洰孌電殑璇︾粏浠嬬粛錛涗袱孌靛悓鏍瘋妭鐩鐨勬椂闂村亸縐伙紱鍩烘湰鐮佹祦綾誨瀷浠嬬粛錛屽瑙嗛鐨勫箙鍨嬫瘮銆佷即闊崇殑綾誨瀷銆佸瓧騫曠殑綾誨瀷絳夛紱浣跨敤鐨勫姞瀵嗙郴緇熶粙緇嶏紱鑺傜洰綾誨瀷浠嬬粛錛屽鐢靛獎/鎴忓墽銆佹柊闂匯佺患鑹恒佷綋鑲層佸皯鍎褲侀煶涔愩佽壓鏈佺ぞ浼氭斂娌匯佹枃鏁欑瓑錛涜妭鐩檺瀹氬勾榫勭殑綰у埆浠嬬粛錛涚粰鍑哄疄鐜頒氦浜掑紡鍥炰紶淇¢亾鐨勭數璇濆彿鐮侊紱涓烘弧瓚沖悇鑺傜洰孌電殑鐮佺巼鑰屾彁渚涚殑緙撳瓨澶у皬淇℃伅鍙婄鏈夋暟鎹備簨浠朵俊鎭腑鎻愪緵浜嗙被浼間簬騫挎挱鐢佃鎶ユ墍鎻愪緵鐨勮妭鐩〃鐨勫唴瀹癸紝鏍規嵁EIT鍙婂叾瀹冭〃鎵鎻愪緵鐨勪俊鎭紝鍙互鍋氬嚭鍚勭EPG鍔熻兘錛屽鎸夎妭鐩被鍨嬫绱€佹寜鏃墮棿媯绱㈠強瀵規煇綾昏妭鐩殑閿佸畾絳夈傚彲浠ヨEIT琛ㄦ槸鎻愪緵EPG淇℃伅鐨勪富瑕佽〃錛屼篃鏄粨鏋勬渶澶嶆潅鐨凷I琛ㄣ?/p>
鍦‥IT present/following琛ㄤ腑錛屾瘡涓浜嬩歡閮界敤涓涓猠vent_id鏉ユ爣璇嗗畠錛屾瘡涓涓簨浠剁殑欏哄簭鍏崇郴錛堝綋鍓嶆鍦ㄥ彂鐢熺殑浜嬩歡/鍚庣畫鍙戠敓鐨勪簨浠訛級灝辯敱EIT present/following鏉ユ弿榪般?/p>
閭d箞濡備綍鏉ヨ瘑鍒綋鍓嶆鍦ㄥ彂鐢熺殑浜嬫儏鍜屽悗緇彂鐢熺殑浜嬫儏鍛紵閭f槸閫氳繃event_id鏉ユ爣璇嗙殑錛屽鍥?鎵紺恒傚浘涓璭vent_id=0X49琛ㄧず褰撳墠姝e湪鍙戠敓鐨勪簨浠訛紱event_id=0X4A琛ㄧず鍚庣畫鍙戠敓鐨勪簨浠躲傞偅涔堝湪褰撳墠浜嬩歡瀹屾垚榪涘叆鍚庣畫浜嬩歡鏃訛紝姝ゆ椂鐨勫悗緇簨浠跺彉鎴愬綋鍓嶄簨浠訛紝鍚庣畫浜嬩歡灝嗙敱涓涓柊鐨勪簨浠朵唬鏇褲傝繖涓鍙樺寲鏄嬌鐢╲ersion_number鏉ュ姞浠ユ弿榪扮殑銆備緥濡傦細
褰撳墠鎾嚭 19錛?0----19錛?0 鏂伴椈鑱旀挱 event_id=0X49錛?/p>
鍚庣畫鎾嚭 19錛?1----20錛?0 鍔ㄧ敾鐗?event_id=0X4A錛屾鏃秜ersion_number=0
璁炬柊鐨勫悗緇?21錛?1---21錛?5 鏇茶壓鑺傜洰銆傚綋鏂伴椈鑱旀挱瀹屾垚鍚庯紝鍒欏彉鍖栦負錛?/p>
褰撳墠鎾嚭 19錛?1----20錛?0 鍔ㄧ敾鐗?event_id=0X49錛?/p>
鍚庣畫鎾嚭 21錛?1----21錛?5 鏇茶壓鑺傜洰 event_id=0X4A錛屾鏃秜ersion_number=1
鍥?/span>6鏄敱SDT琛ㄥ拰EIT琛ㄦ墍浜х敓鐨?/span>EPG淇℃伅錛屽浘7鏄敱EIT琛ㄦ墍浜х敓鐨勪竴涓妭鐩閬撶殑鑺傜洰鎾嚭鏃墮棿琛ㄣ?br>
EIT琛ㄦ槸SI琛ㄤ腑緇撴瀯鏈澶嶆潅鐨勮〃錛屽浘8鏄畠鐨勭粨鏋勫浘銆?/span>
鏈洪《鐩掗氬父閮芥湁涓涓?#8220;鑺傜洰鎸囧崡”鐨勬寜閽紝鎸夊姩瀹冨氨鍙互璇誨彇EIT schedule鑷〃閲岀殑淇℃伅錛屾樉紺烘煇涓涓笟鍔″湪鏌愭鏃墮棿鍐呯殑鎵鏈変簨浠跺垪琛ㄣ?/span>
鈶?span> 涓氬姟緇勫叧鑱旇〃錛?/span>BAT錛夌殑浣滅敤
BAT琛ㄦ槸鐢?/span>DVB瀹氫箟鐨勶紝鏄竴涓?/span>SI琛紝鍥犳瀹冩槸涓涓叏灞琛紝涓涓暟瀛楃數瑙嗙郴緇熷彧瀵瑰簲涓涓?/span>BAT琛紝鍏?/span>table_id=0X
BAT琛ㄨ繕鏀寔涓涓壒鍒殑鎻忚堪絎︼紝縐頒負鍥藉鑾峰緱鎬ф弿榪扮銆傛鎻忚堪絎︾殑鎰忎箟鏄細榪愯惀鍟嗗彲鑳藉嚭浜庤繍钀ョ殑闇瑕侊紝鎶婁竴浜涗笟鍔℃彁渚涚粰鐗瑰畾錛堝浗瀹訛級鐨勪漢緹ゆ敹鐪嬶紝鑰屼笉甯屾湜緇欏叾浠栵紙鍏朵粬鍥藉錛夌殑浜虹兢鏀剁湅錛岄偅涔堬紝灝卞彲浠ュ埄鐢ㄥ浗瀹惰幏寰楁ц繖涓鎻忚堪絎︼紝鍦ㄥ叾浠栦漢緹ゆ敹鐪嬭妭鐩椂涓嶆樉紺鴻繖浜涗笟鍔°傝繖涓弿榪扮鍚屾牱鏀寔SDT琛紝涓嶈繃鍦?/span>SDT 琛ㄤ腑鎸囩殑鏄煇涓涓笟鍔★紝鑰屼笉鏄竴涓笟鍔$粍銆傛墍浠ワ紝BAT琛ㄦ鎷湴璇存槸鎻愪緵緇欎笉鍚岃浼椾笉鍚岀粍鍚堣妭鐩殑涓縐嶆柟娉曘?/span>
鈶?/span> 鍏朵粬琛?/span>
瀵逛簬PAT銆?/span>PMT鍜?/span>CAT琛紝閮芥槸鐢?/span>MPEG-2瀹氫箟鐨勶紝鏄?/span>PSI閲岄潰鐨勮〃錛屾墍浠ヨ繖涓変釜琛ㄩ兘涓嶆槸鍏ㄥ眬琛紝瀹冧滑瀛樺湪鍦ㄦ瘡涓涓?/span>TS涓?/span>PSI淇℃伅浣跨敤榪?/span>3涓〃鏉ュ畾涔夌爜嫻佺殑緇撴瀯錛屼竴涓?/span>TS瀵瑰簲涓涓?/span>PAT琛紱涓涓?/span>CA緋葷粺鍜屼竴涓?/span>TS瀵瑰簲涓涓?/span>CAT琛紝CAT琛ㄧ殑PID鍊兼繪槸1錛屾瘡涓?/span>CAT閮藉彧緇欏嚭鍏舵墍鍦ㄦ祦鐨?/span>EMM錛堝寘鎷惡甯︾粍瀵嗛挜鐨?/span>EMM鍜屾惡甯︿駭鍝佸瘑閽ョ殑EMM錛夊寘鐨?/span>PID絳変俊鎭紱涓涓笟鍔★紙鑺傜洰棰戦亾錛夊搴斾竴涓?/span>PMT琛紝涓涓?/span>TS瀵瑰簲澶氫釜PMT錛堣嫻佷腑鎵鎼哄甫鐨勪笟鍔℃暟鑰屽畾錛変笖鍙搴旀湰嫻佺殑涓氬姟銆?/span>
PAT鐨?/span>PID鏄?/span>0錛屽畠鏄?/span>PSI淇℃伅鐨勬牴錛岃鏌ユ壘淇℃伅鏃墮鍏堝繀欏諱粠PAT寮濮嬶紝琛ㄤ腑鍒楀嚭浜嗕紶閫佺爜嫻佷腑鎵鏈夎妭鐩墍瀵瑰簲鐨?/span>PMT鐨?/span>PID錛屽彲鏍規嵁榪欎簺PID鎵懼埌鐩稿簲鐨?/span>PMT鍖呫傚湪PMT琛ㄤ腑鍙堝彲浠ユ壘鍒頒笌鑺傜洰鏈夊叧鐨勬墍鏈夊熀鏈爜嫻侊紝濡傝棰戙侀煶棰戙?/span>ECM鍜屾暟鎹瓑鏈夊叧淇℃伅鐨?/span>PID錛岀劧鍚庢妸榪欎簺鏍囨湁榪欎竴PID鐨勬暟鎹寘緇勭粐璧鋒潵閫氳繃瑙g爜錛屾妸鑺傜洰鎴栨暟鎹繕鍘熷嚭鏉ャ?/span>
浠ヤ笂PSI鐨勫嚑涓〃鍜?/span>NIT琛ㄦ槸瑙g爜鎵蹇呴渶鐨勮〃錛岃?/span>SDT鍜?/span>EIT鏄瀯鎴愪笟鍔′俊鎭墍蹇呴渶鐨勮〃銆?/span>
SI榪樻湁鍏朵粬鐨勮〃錛屽錛?/span>TDT琛紝縐頒負鏃墮棿鏃ユ湡琛紝瀹冪粰鍑轟簡褰撳墠鐨勬椂闂村拰鏃ユ湡鐨勪俊鎭紝鏈夋椂涔熷彲浣滀負鏈洪《鐩掕В鐮佹椂閽熺殑鏇存柊錛?/span>RST琛紝縐頒負榪愯鐘舵佽〃錛屽睘浜庡彲閫夎〃錛屽畠鐢ㄤ簬蹇熸洿鏂版煇鑺傜洰鎴栨煇浜涜妭鐩殑榪愯鍙傛暟錛?/span>RST鍙湁鍦ㄧ姸鎬佹垨鑺傜洰鍙樻洿鏃舵墠鍙戦佷竴嬈★紱ST琛紝縐頒負濉厖琛紝灞炰簬鍙夎〃錛屽畠鐢ㄦ潵鏇夸唬涓嶄紶閫佺殑琛ㄣ?/span>
鈶?/span> 鎻忚堪絎?/span>
鎻忚堪絎︽槸鐢ㄦ潵鎼哄甫鑺傜洰瑕佺礌鍜?/span>TS嫻佺瓑鐨勫悇縐嶅弬鏁扮殑淇℃伅緇撴瀯銆佽娉曚笌璇箟錛屾弿榪扮鏄?/span>PSI/SI琛ㄧ殑鏋勬垚涓諱綋錛?/span>PSI/SI琛ㄧ殑涓昏鎰忎箟灝辨槸浼犻佽繖浜涙弿榪扮錛屼負鏈洪《鐩掓彁渚涚浉鍏充笟鍔℃弿榪頒笌榪愯鍙傛暟錛屽彲浠ヨ涓?/span>SI琛ㄦ槸鑸熻屾弿榪扮鏄垷涓婄殑璐х墿銆傛弿榪扮鐨勯氱敤緇撴瀯閮芥槸浠?/span>descriptor_tag (鎻忚堪絎︽爣璁?/span>)瀛楁涓庣揣璺熷叾鍚庣殑descriptor_length錛堟弿榪扮闀垮害錛夊瓧孌靛紑濮嬨傛瘡涓?/span>SI琛ㄩ氬父閮戒嬌鐢ㄧ壒瀹氱殑鎻忚堪絎︼紝浣嗕篃涓嶉檺鍒惰繖浜涙弿榪扮鍦ㄥ叾浠栬〃涓嬌鐢ㄣ?/span>
鎻忚堪絎︽槸闅忎嬌鐢ㄥ畠鐨?/span>SI琛ㄤ竴璧峰彂閫佺殑銆?/span>
鎻忚堪絎︿互鍙婂湪瀹冧滑鐨?/span>PSI/SI琛ㄤ腑鐨勪綅緗涓嬭〃
鍦?/span>PSI/SI琛ㄩ噷錛屾垜浠氬父閮界湅鍒頒竴涓驚鐜鍙ワ紝濡傦細
for(I=0;I<N;I++){
descriptor()
}
榪欎釜寰幆璇彞鏄敤鏉ュ紩瀵兼満欏剁洅璇誨彇鎻忚堪鍙傛暟鐢ㄧ殑錛屼互SDT瀛愯〃涓轟緥錛岀敱浜庝竴涓?/span>SDT瀛愯〃閲岄潰鍖呭惈浜嗗澶氫釜涓氬姟鐨勬弿榪幫紝姣忎釜涓氬姟鐨勯兘浣跨敤浜?/span>Multilingual_service_name_descriptor鍜?/span>service_descriptor鎻忚堪絎︼紝涔熷氨鏄涓涓?/span>SDT瀛愯〃閲屽悓鏍風殑鎻忚堪絎﹁浣跨敤浜嗗嬈★紙涔熷彲浠ョ悊瑙d負錛屼竴涓弿榪扮閲屽瓨鏈夊涓弿榪板弬鏁幫級錛岄氳繃寰幆璇彞鏉ュ鎻忚堪絎﹁繘琛岄噸澶嶆湁搴忕殑璇誨彇錛屾潵鎻愬彇閲岄潰鐨勬弿榪板弬鏁幫紝鐩村埌璇誨畬涓烘銆?/span>
緗戠粶淇℃伅琛紙NIT錛夌殑孌墊暟鎹粨鏋勶細
Netwok_information_section(){ 緗戠粶淇℃伅孌?/span>
Table_id 8bit 琛ㄦ爣璇?/span>
Section_syntax_indicator 1bit 孌靛簭鍒楁寚紺?/span>(鏍囪浣?/span>),姝ゅ?/span>=1鏃?/span>,瑙勫畾浠?/span>section絎?/span>43浣嶅紑濮嬬殑5浣嶆槸鐗堟湰鍙?/span>
Reserved_future_use 1bit 淇濈暀灝嗘潵浣跨敤瀛楁
Reserved 2bit 淇濈暀瀛楁
Section_length 12bit 孌甸暱搴?/span>
Network_id 16bit 緗戠粶鏍囪瘑
Reserved 2bit 淇濈暀瀛楁
Version_number 5bit 琛ㄧ増鏈彿錛屼綔涓鴻〃鏇存柊鏈哄埗
Current_next_indicator 1bit 褰撳墠/涓嬩竴涓湁鏁堟寚紺轟綅錛堟爣璁頒綅錛夛紝琛ㄧず褰撳墠琛ㄦ槸鍚︽湁鏁堬紝濡傛灉Current_next_indicator涓?/span>1,鍒欏綋鍓嶈〃鏈夋晥;0琛ㄧず褰撳墠琛ㄦ棤鏁?/span>.
Section_number 8bit 褰撳墠孌墊鍙?/span>
Last_section_number 8bit 鏈鍚庢鍙?/span>(鍙嶆槧浜嗚繖涓瓙琛ㄧ敱澶氬皯涓緇勬垚錛屽鍏跺間負0X01閭d箞琛ㄧず榪欎釜瀛愯〃鐢變袱涓緇勬垚)
Reserved_future_use 4bit 淇濈暀灝嗘潵浣跨敤瀛楁
Network_description_length 12bit 緗戠粶鎻忚堪絎﹂暱搴?/span>
For(I=0;I<N;I++){ 鑾峰彇緗戠粶
Descriptor() 璇誨彇緗戠粶鎻忚堪鍙傛暟錛堢綉緇滃悕縐版弿榪扮銆佽繛鎺ユ弿榪扮錛?/span>
}
reserved_future_use 4bit 淇濈暀灝嗘潵浣跨敤瀛楁
transport_stream_loop_length 12bit 浼犺緭嫻佸驚鐜暱搴?/span>
for(I=0;I<N;I++){ 鑾峰彇浼犺緭嫻侊紙鏁翠釜緋葷粺鐨勪紶杈撴祦錛?/span>
transport_stream_id 16bit 浼犺緭嫻佹爣璇?/span>
original_network_id 16bit 鍘熷緗戠粶鏍囪瘑
reserved_future_use 4bit 淇濈暀灝嗘潵浣跨敤瀛楁
transport_descriptors_length 12bit 浼犺緭鎻忚堪絎﹂暱搴?/span>
for(j=0;j<N;j++){ 鑾峰彇浼犺緭嫻佺殑鎻忚堪瀛愶紙鏈夌嚎浼犻佺郴緇熸弿榪扮銆佷笟鍔″垪琛ㄦ弿榪扮絳夛級
descriptor() 璇誨彇鎻忚堪鍙傛暟
}
}
CRC_32 32bit 寰幆鏍¢獙鐮?/span>
}
**************ffmpeg鐨勭紪璇?***************
1銆傞鍏堣幏鍙杅fmpeg 濡傛灉宸茬粡鑾峰彇浜唂fmpeg鐨則ar鍖呴偅絎竴姝ュ彲浠ヨ煩榪?/p>
寰堝浜烘壘涓嶅埌鎬庝箞涓嬭澆,鍏跺疄涔嬪墠ffmpeg鍙互閫氳繃cvs涓嬭澆錛屼笉榪囨渶榪戜粬宸茬粡鎹㈡垚浜嗘洿鍔犲己澶х殑svn
濡備綍浣跨敤SVN鎴戣繖閲屼笉鍐嶄粙緇嶏紝緗戜笂榪樻湁澶ч噺鐨勫畨瑁呭拰浣跨敤鐨勬枃绔犲彲浠ュ熼壌錛岃繖閲岀畝鍗曠綏鍒楀嚑涓猄VN杈呭姪鐨勮蔣浠訛細
SubVersion錛屼粠 http://subversion.tigris.org/ 涓嬭澆錛屾敮鎸乴inux錛屾垜浠繖閲屽氨瑁呰繖涓?/p>
TortoiseSVN錛屼粠 http://tortoisesvn.tigris.org/ 涓嬭澆錛屾槸寰堜笉閿欑殑SVN瀹㈡埛绔▼搴忥紝涓簑indows澶栧3紼嬪簭闆嗘垚鍒皐indows璧勬簮綆$悊鍣ㄥ拰鏂囦歡綆$悊緋葷粺鐨凷ubversion瀹㈡埛绔紝鐢ㄨ搗鏉ュ緢鏂逛究錛宑ommit鍔ㄤ綔鍙樺緱灝卞儚Winrar鍙抽敭鍘嬬緝涓鏍鋒柟渚褲?/p>
ok錛屽厛瑁卻ubversion錛岃浣忔渶濂戒箣鍓嶈榪嘺pr鍜宎pr-util錛屽湪apache.org緗戠珯鑳戒笅鍒?/p>
wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make
make install
鍒版錛屾垜浠氨鍙互閫氳繃svn鍛戒護鑾峰彇鏈鏂扮殑ffmpeg浜?/p>
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
浣犱細鍙戠幇鍦ㄤ綘鎵鍦ㄧ殑鐩綍錛岃嚜鍔ㄥ嚭鐜頒竴涓猣fmpeg鐨勭洰褰曪紝灝辨槸浣犱笅杞界殑婧愪唬鐮併?/p>
鎴戜滑榪樹笉鑳借繖涔堝揩緙栬瘧ffmpeg錛屽簲璇ュ鏋滆璁ゝfmpeg鏀寔鏇村鏍煎紡鐨勮漿鎹紝榪橀渶鍋氫竴浜涘墠鏈熷伐浣?/p>
2.鏀寔mp3錛宭inux褰撶劧鏄痩ame錛屼笅杞借В鍘?br>tar zxvf lame-3.97b3_.tar.gz
cd lame-3.97.1
./configure --prefix=/usr --enable-shared
make
make install
榪欓噷鎺ㄨ崘灝介噺瑁呭湪/usr涓嬶紝榛樿鏄鍦?usr/local涓嬨傝繖鏍穎fmpeg緙栬瘧閮借兘欏哄埄鐨勬壘鍒板簱鏂囦歡
3.鏀寔Ogg鍜孷orbis:
as4浣犲彲浠ュ畨瑁呬竴涓嬪涓媡ar鍖?br>libvorbis, libvorbis-devel,libogg, libogg-devel
tar jxvf libvorbis-1.1.1-1-src.tar.bz2
cd libvorbis-1.1.1-1
./configure --prefix=/usr --enable-shared
make
make install
鍏朵粬鐨勶紙libvorbis-devel,libogg, libogg-devel榪欎笁涓猼ar鐩存帴瑙e帇灝卞彲浠ヤ簡鐢╰ar jxvf libvorbis-devel.........)
4.鏀寔xvid x264錛岀幇鍦ㄦ渶嫻佽鐨勪袱縐嶉珮璐ㄩ噺鐨勫帇緙╂牸寮?br>xvid鐨勭紪璇戝畨瑁?br>涓嬭澆 http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz
tar zvxf xvidcore-1.1.0.tar.gz
cd xvidcore-1.1.0/build/generic/
./configure --prefix=/usr --enable-shared
make
make install
***鍦ㄥ畨瑁匵264涔嬪墠蹇呴』瀹夎nasm-0.98.39.tar.bz2 涓嶇劧X264瑁呬笉涓婂幓***
涓嬭澆nasm-0.98.39.tar.bz2
tar jxvf nasm-0.98.39.tar.bz2
cd nams-0.98.39
./configure --prefix=/usr --enable-shared
make
make install
涓嬭澆 x264-snapshot.tar.bz2
tar jxvf x264-snapshot.tar.bz2
cd x264-snapshot.tar.bz2
./configure --prefix=/usr --enable-shared
make
make install
5.AC3鍜宒ts緙栫爜鐨勬敮鎸?br>as4緋葷粺浼間箮宸茬粡鏀寔ac3緙栫爜錛岀紪璇戠殑鏃跺欏彧瑕佸姞--enable-a52 --enable-gpl鍙傛暟灝辮
libdts-0.0.2.tar.gz緙栬瘧鍙傛暟
tar zxvf libdts-0.0.2.tar.gz
cd libdts-0.0.2
./configure --prefix=/usr --enable-shared
make
make install
6.mpg4 aac鏍煎紡鏀寔錛岀敱浜庢湇鍔″櫒榪橀拡瀵規墜鏈虹敤鎴鋒湇鍔★紝鎵浠ワ紝綾諱技aac錛宮pg4閾冨0鏍煎紡鐨勬敮鎸侊紝鎴戜滑涔熷緱鍋氥傝繖閲屾垜浠畨瑁協aad2鍜宖aac灝辮
涓嬭澆璇峰埌http://www.audiocoding.com/modules/mydownloads/
***鍏堢紪璇慒AAD2錛岀劧鍚庡湪緙栬瘧FAAC銆傛湁涓厛鍚庨『搴忕殑***
//////////////////////////FAAD2鐨勭紪璇慭\\\\\\\\\\\\\\\\\\\\\\\\\\\
tar zxvf faad2-2.5.tar.gz
cd faad2
鍦ㄧ紪璇慒AAD2鏃跺彲鑳藉嚭鐜扮殑閿欒錛屽弬鐓т綘鐨勯敊璇幇璞″幓淇敼
閿欒鐜拌薄錛?/p>
cd faad2
[root@TServer faad2]# autoreconf -ivf
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.in: installing `./install-sh'
configure.in: installing `./missing'
common/mp4ff/Makefile.am: installing `./compile'
common/mp4ff/Makefile.am: installing `./depcomp'
plugins/Makefile.am:12: required directory plugins/bmp does not exist
plugins/xmms/src/Makefile.am:2: libdir was already defined in condition TRUE, which includes condition HAVE_BMP ...
configure.in:10: ... `libdir' previously defined here
plugins/xmms/src/Makefile.am:8: libdir was already defined in condition TRUE, which includes condition !HAVE_BMP ...
configure.in:10: ... `libdir' previously defined here
Makefile.am: installing `./INSTALL'
autoreconf: automake failed with exit status: 1
瑙e喅鏂規錛?br>鍙鎶夿MP鐩稿叧鐨勭紪璇戞潯浠訛紙涓鑸兘鏄互if-else褰㈠紡瀛樺湪鐨勶紝娉ㄦ剰瑕佹妸鏁翠釜鍧楅兘鍒犻櫎錛夐兘remove錛屽氨濂戒簡銆?br>鎿嶄綔濡備笅錛?br>[root@TServer faad2]# cd plugins/
[root@TServer plugins]# grep -lr BMP *
Makefile.am
xmms/src/libmp4.c
xmms/src/Makefile.am
[root@TServer plugins]# vi Makefile.am
if HAVE_MPEG4IP_PLUG
if HAVE_XMMS
SUBDIRS = xmms mpeg4ip
else
SUBDIRS = mpeg4ip
endif #HAVE_XMMS
else
if HAVE_XMMS
SUBDIRS = xmms
else
SUBDIRS =
endif #HAVE_XMMS
endif #HAVE_MPEG4IP_PLUG
~
~
~
~
~
~
~
"Makefile.am" [dos] 13L, 200C 宸插啓鍏?nbsp;
[root@TServer plugins]# grep -lr BMP *
xmms/src/libmp4.c
xmms/src/Makefile.am
[root@TServer plugins]# vi xmms/src/libmp4.c
/*
* MP4/AAC decoder for xmms
*
* OPTIONNAL need
* --------------
* libid3 (3.8.x - www.id3.org)
*/
#include <pthread.h>
#include <gtk/gtk.h>
#include <stdio.h>
#include <string.h>
#include "neaacdec.h"
#include "mp4ff.h"
#define MP4_DESCRIPTION "MP4 & MPEG2/4-AAC audio player - 1.2.x"
#define MP4_VERSION "ver. 0.5-faad2-version - 22 August 2004"
#define MP4_ABOUT "Written by ciberfred"
#define BUFFER_SIZE FAAD_MIN_STREAMSIZE*64
static void mp4_init(void);
static void mp4_about(void);
static void mp4_play(char *);
static void mp4_stop(void);
"xmms/src/libmp4.c" [dos] 574L, 15762C 宸插啓鍏?br>[root@TServer plugins]# ls
in_mp4 Makefile.am mpeg4ip QCD QCDMp4 xmms
[root@TServer plugins]# grep -lr BMP *
xmms/src/Makefile.am
[root@TServer plugins]# vi xmms/src/Makefile.am
if HAVE_BMP
libdir=$(shell pkg-config --variable=input-plugin-dir bmp)
local_CFLAGS=$(shell pkg-config --cflags bmp)
local_LDFLAGS=$(shell pkg-config --libs bmp)
else
local_CFLAGS=`$(XMMS_CONFIG) --cflags` -Wall
local_LDFLAGS=`$(XMMS_CONFIG) --libs`
libdir = `$(XMMS_CONFIG) --input-plugin-dir`
endif #HAVE_BMP
lib_LTLIBRARIES = libmp4.la
libmp4_la_CFLAGS = $(local_CFLAGS) -Wall \
-I$(top_srcdir)/include -I$(top_srcdir)/common/mp4ff
libmp4_la_LIBADD = $(top_builddir)/libfaad/libfaad.la \
$(top_builddir)/common/mp4ff/libmp4ff.la
libmp4_la_LDFLAGS = -module -avoid-version $(local_LDFLAGS) -lpthread
libmp4_la_SOURCES = libmp4.c mp4_utils.c aac_utils.c
~
~
"xmms/src/Makefile.am" [dos] 11L, 373C 宸插啓鍏?br>[root@TServer plugins]# cd ..
[root@TServer faad2]# grep -lr BMP *
configure.in
[root@TServer faad2]# vi configure.in
AM_CONDITIONAL([HAVE_BMP], true)
fi
if test x$WITHDRM = xyes; then
AC_DEFINE(DRM, 1, [Define if you want to use libfaad together with Digital Radio Mondiale (DRM)])
AC_DEFINE(DRM_PS, 1, [Define if you want support for Digital Radio Mondiale (DRM) parametric stereo])
fi
AC_CONFIG_FILES(libfaad/Makefile)
AC_CONFIG_FILES(common/Makefile)
AC_CONFIG_FILES(common/mp4ff/Makefile)
AC_CONFIG_FILES(plugins/Makefile)
AC_CONFIG_FILES(plugins/xmms/Makefile)
AC_CONFIG_FILES(plugins/xmms/src/Makefile)
AC_CONFIG_FILES(plugins/mpeg4ip/Makefile)
AC_CONFIG_FILES(faad2.spec)
AC_CONFIG_FILES(frontend/Makefile)
AC_CONFIG_FILES(Makefile)
宸叉煡鎵懼埌鏂囦歡緇撳熬錛涘啀浠庡紑澶寸戶緇煡鎵?br>AC_PROG_MAKE_SET
AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
AM_CONFIG_HEADER(config.h)
AC_ARG_WITH(xmms,[ --with-xmms compile XMMS-1 plugin],
WITHXMMS=$withval, WITHXMMS=no)
AC_ARG_WITH(drm,[ --with-drm compile libfaad with DRM support],
WITHDRM=$withval, WITHDRM=no)
AC_ARG_WITH(mpeg4ip, [ --with-mpeg4ip compile mpeg4ip plugin],
WITHMPEG4IP=$withval, WITHMPEG4IP=no)
dnl Checks for header files required for mp4.h
AC_HEADER_STDC
AC_CHECK_HEADERS(stdint.h inttypes.h)
AC_CHECK_HEADERS(mathf.h)
AC_CHECK_HEADERS(float.h)
/BMP
fi
AM_CONDITIONAL(HAVE_XMMS, true)
else
AC_MSG_NOTICE(no xmms build configured)
AM_CONDITIONAL(HAVE_XMMS, false)
fi
if test x$WITHDRM = xyes; then
AC_DEFINE(DRM, 1, [Define if you want to use libfaad together with Digital Radio Mondiale (DRM)])
AC_DEFINE(DRM_PS, 1, [Define if you want support for Digital Radio Mondiale (DRM) parametric stereo])
fi
AC_CONFIG_FILES(libfaad/Makefile)AC_CONFIG_FILES(common/Makefile)AC_CONFIG_FILES(common/mp4ff/Makefile)AC_CONFIG_FILES(plugins/Makefile)
AC_CONFIG_FILES(plugins/xmms/Makefile)
"configure.in" [dos] 131L, 3776C 宸插啓鍏?br>[root@TServer faad2]# grep -lr BMP *
[root@TServer faad2]# ls
aacDECdrop common faad2.spec.in libfaad README
AUTHORS configure.in frontend Makefile.am README.linux
bootstrap COPYING include NEWS TODO
ChangeLog docs in_mpeg4aac.nsi plugins
[root@TServer faad2]# autoreconf -vir
/usr/bin/autoreconf: unrecognized option `-r'
Try `/usr/bin/autoreconf --help' for more information.
[root@TServer faad2]# autoreconf -vif
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.in: installing `./install-sh'
configure.in: installing `./missing'
common/mp4ff/Makefile.am: installing `./compile'
common/mp4ff/Makefile.am: installing `./depcomp'
Makefile.am: installing `./INSTALL'
autoreconf: Leaving directory `.'
cd faad2
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
////////////////faac鐨勭紪璇慭\\\\\\\\\\\\\\\\\\\\\\\
cd faac
faac-1.25錛屾湁涓や釜鍦版柟闇瑕佷慨鏀癸紝涓鏄痬4 macro鏂囦歡錛屽彟澶栦竴涓槸闇瑕佸鏂囦歡鐨勬牸寮忓強鏉冮檺浣滀竴涓嬪鐞?
閿欒鐜拌薄 1錛?br>[root@TServer faac]# autoreconf -vif
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force
configure.in:10: warning: underquoted definition of MY_DEFINE
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
configure.in:10: warning: underquoted definition of MY_DEFINE
run info '(automake)Extending aclocal'
or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
[root@TServer faac]# grep MY_DEFINE *
configure.in:AC_DEFUN(MY_DEFINE, [ AC_DEFINE($1, 1, [define if needed]) ])
configure.in:AC_CHECK_DECL(strcasecmp, MY_DEFINE(HAVE_STRCASECMP))
configure.in: MY_DEFINE(HAVE_LIBMP4V2)
configure.in:AC_CHECK_DECL(strchr, MY_DEFINE(HAVE_STRCHR))
configure.in:AC_CHECK_DECL(memcpy, MY_DEFINE(HAVE_MEMCPY))
configure.in:AC_CHECK_DECL(strsep, MY_DEFINE(HAVE_STRSEP))
瑙e喅鏂規1錛?br>[root@TServer faac]# grep MY_DEFINE *
configure.in:AC_DEFUN(MY_DEFINE, [ AC_DEFINE($1, 1, [define if needed]) ])
configure.in:AC_CHECK_DECL(strcasecmp, MY_DEFINE(HAVE_STRCASECMP))
configure.in: MY_DEFINE(HAVE_LIBMP4V2)
configure.in:AC_CHECK_DECL(strchr, MY_DEFINE(HAVE_STRCHR))
configure.in:AC_CHECK_DECL(memcpy, MY_DEFINE(HAVE_MEMCPY))
configure.in:AC_CHECK_DECL(strsep, MY_DEFINE(HAVE_STRSEP))
鎶奵onfigure.in鏂囦歡涓殑AC_DEFUN(MY_DEFINE, [ AC_DEFINE($1, 1, [define if needed]) ])
淇敼涓?AC_DEFUN([MY_DEFINE], [ AC_DEFINE($1, 1, [define if needed]) ])
鐒跺悗灝卞彲浠utoreconf -ivf浜嗐?/p>
閿欒鐜拌薄2錛?br>./configure鐨勬椂鍊欙紝浼氬嚭鐜頒互涓嬮敊璇細
configure: creating ./config.status
config.status: creating common/Makefile
config.status: creating common/mp4v2/Makefile
config.status: creating \
.infig.status: error: cannot find input file: \
榪欎釜闂鏄枃浠剁殑鏍煎紡闂閫犳垚鐨勶紝鍙互鐢ㄤ竴涓嬫柟娉曞鐞嗭細
[root@TServer faac]#find . -type f | xargs dos2unix
[root@TServer faac]#chmod * 777 -R
澶勭悊涔嬪悗錛屽氨鍙互瀹夎浜嗐?br>
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
7.鏀寔3gp鏍煎紡錛岃繖涔熸槸鐜板湪濂藉鎵嬫満鏀寔鐨勬牸寮忥紝鎵浠ヤ篃寰楁敮鎸佺紪璇?/p>
緙栬瘧鐨勬椂鍊欏姞涓?-enable-amr_nb --enable-amr_wb鍙傛暟灝辮錛屾牴鎹紪璇戠郴緇熺殑鎻愮ず錛屾墍浠ユ垜浠緱涓嬭澆涓
浜涚紪璇?gp鎵闇寰楁枃浠躲?br>鍏堝湪ffmpeg-0.4.9-p20051120/libavcoder/寤轟笁涓洰褰?br>mkdir -p amr
mkdir -p amr_float
mkdir -p amrwb_float
涓嬭澆http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26073-530_ANSI_C_source_code.zip
瑙e帇浠ュ悗鎶婇噷闈㈢殑鏂囦歡閮芥嫹璐濆埌libavcodec/amr
涓嬭澆http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-530_ANSI-C_source_code.zip
瑙e帇浠ュ悗鎶婇噷闈㈢殑鏂囦歡閮芥嫹璐濆埌libavcodec/amrwb_float
涓嬭澆http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-540_ANSI_C_source_code.zip
瑙e帇浠ュ悗鎶婇噷闈㈢殑鏂囦歡閮芥嫹璐濆埌libavcodec/amr_float
淇敼libavcodec/amr/makefile 鎵懼埌CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 鎹㈡垚CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO
8.緙栬瘧ffmpeg-0.4.9-p20051120
tar xvf ffmpeg-0.4.9-p20051120.tar
cd ffmpeg-0.4.9-p20051120
./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay --cpu=CPU
make
make install
灝忎慨姝d竴涓嬶紝濡傛灉涓婇潰鐨刢onfigure涓嶈錛屽湪鎴戠殑鏈哄櫒涓婂緱榪欐牱錛屽彲鑳界敱浜庣増鏈殑鍏崇郴錛?br>./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-x11grab --prefix=/usr --enable-shared
琛ュ厖1錛?br>瑕佹槸璇村湪褰撳湪cpu鏄痻86鐨勬儏鍐典笅錛屼笉鑳界紪璇戣繃鍘伙紝濡傛灉浣犵湡緙栬瘧涓嶈繃鍘伙紝鍙互璇曠潃鍔犱笂--cpu=CPU
琛ュ厖2錛?br>褰撻亣鍒扮紪璇慺fmpeg鍑洪敊鏃訛紝鎵懼埌vi ffmpeg/libavcodec/x264.c鍒犻櫎x4->params.rc.b_cbr = 1;榪欎竴琛?/p>
鍒版錛屼竴涓猣fmpeg緙栬瘧濂戒簡錛屼笉榪囩洰鍓嶇鏂圭殑ffmpeg榪樹笉鏀寔wma9鍜宺mvb錛屼笉榪囩綉涓婃湁寰堝瑙e喅鏂規硶銆?/p>
ffmpeg鐨勮漿鎹㈠弬鏁幫細
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 320x240 -b 128 -r 15 test.3gp
*************************mencoder鐨勭紪璇?*******************************
mencoder瀹夎綃?/p>
1銆佷笅杞戒富紼嬪簭錛?MPlayer-1.0rc1.tar.bz2
2銆佷笅杞絜ssential-20061022.tar.bz2錛屽畨瑁咃細
tar vjxf essential-20061022.tar.bz2
mv essential-20061022 /usr/lib/codes
chmod 644 /usr/lib/codes/*
chown root.root /usr/lib/codes/*
3銆佷笅杞絯indows-essential-20061022.zip錛屽畨瑁咃細
unzip windows-essential-20061022.zip
mv windows-essential-20061022 /usr/lib/wincodes
chmod 644 /usr/lib/wincodes/*
chown root.root /usr/lib/wincodes/*
4銆佸畨瑁卪player
tar vjxf MPlayer-1.0rc1.tar.bz2
cd MPlayer-1.0rc1
./configure --prefix=/usr --with-codecsdir=/usr/lib/codecs/ --language=zh_CN
make
make install
濡傛灉浣犻渶瑕佷嬌鐢╩player鍦╨inux涓嬫挱鏀捐棰戯紝榪橀渶瑕佸姞涓?-enable-gui(鍥懼艦鐣岄潰)錛屼笉榪囪繖鏍峰氨瑕佸畨瑁呭寰堝涓滆タ浜嗭紝榪欓噷鎴戜滑鍙嬌鐢ㄥ畠鐨刴encoder錛屾墍浠?-enable-gui鍙互鐪佺暐
mencoder鐨勯厤緗弬鏁幫細
./configure --prefix=/usr --with-codecsdir=/usr/lib/codecs/ --language=zh_CN
mencoder杞崲鍙傛暟錛?br>mencoder /var/www/woyo/image.woyo.com/%inputfile% -o /var/www/woyo/image.woyo.com/%outputfile% -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=300:mbd=2:last_pred=3:dia=2:cmp=3:vb_strategy=1 -sws 3 -vf scale=400:300 -ofps 30 -srate 22050 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
澹版槑錛氫互涓嬪唴瀹硅漿甯栬嚜http://blog.lmtw.com/b/moreframe/archives/2006/40865.html錛屼綔鑰呭啓鐨勯潪甯稿ソ錛屾劅璋綔鑰呯殑杈涜嫤銆?br> 搴旇璇寸湡姝d簡瑙S錛岃繕鏄湅浜嗘湅鍙嬫帹鑽愮殑銆婃暟瀛楃數瑙嗕笟鍔′俊鎭強鍏剁紪鐮併嬩竴涔︿箣鍚庯紝MPEG2 TS鍜屾暟瀛楃數瑙嗘槸绱у瘑涓嶅彲鍒嗗壊鐨勶紝鍊煎緱鎬葷粨涓涓嬪叾涓殑涓浜涘叧緋匯?/p> ISO/IEC錛?3818錛?錛氱郴緇熼儴鍒嗭紱ISO/IEC錛?3818錛?錛氳棰戯紱ISO/IEC錛?3818錛?錛氶煶棰戯紱ISO/IEC錛?3818錛?錛氫竴鑷存ф祴璇曪紱ISO/IEC錛?3818錛?錛氳蔣浠墮儴鍒嗭紱ISO/IEC錛?3818錛?錛氭暟瀛楀瓨鍌ㄥ獟浣撳懡浠や笌鎺у埗錛汭SO/IEC錛?3818錛?錛氶珮綰ч煶棰戠紪鐮侊紱ISO/IEC錛?3818錛?錛氱郴緇熻В鐮佸疄鏃舵帴鍙o紱 MPEG2緋葷粺浠誨姟鍖呮嫭錛?. 瑙勫畾浠ュ寘浼犺緭鏁版嵁鐨勫崗璁紱2. 瑙勫畾鏀跺彂涓ょ鏁版嵁嫻佸悓姝ョ殑鍗忚錛?. 鎻愪緵澶氫釜鏁版嵁嫻佺殑澶嶇敤鍜岃В澶嶇敤鍗忚錛?. 鎻愪緵鏁版嵁嫻佸姞瀵嗙殑鍗忚銆備互鍖呭艦寮忓瓨鍌ㄥ拰浼犻佹暟鎹祦鏄疢PEG2緋葷粺涔嬭鐐廣?/p> ES鏄洿鎺ヤ粠緙栫爜鍣ㄥ嚭鏉ョ殑鏁版嵁嫻侊紝鍙互鏄紪鐮佽繃鐨勮棰戞暟鎹祦錛岄煶棰戞暟鎹祦錛屾垨鍏朵粬緙栫爜鏁版嵁嫻佺殑緇熺О銆侲S嫻佺粡榪嘝ES鎵撳寘鍣ㄤ箣鍚庯紝琚漿鎹㈡垚PES鍖呫侾ES鍖呯敱鍖呭ご鍜宲ayload緇勬垚錛屽叿浣撴牸寮忔憳褰曞涓嬶細 鍙互鐪嬪埌PTS/DTS鏄墦鍦≒ES鍖呴噷闈㈢殑錛岃繖涓や釜parameters鏄В鍐寵闊抽鍚屾鏄劇ず錛岄槻姝㈣В鐮佸櫒杈撳叆緙撳瓨涓婃孩鎴栦笅婧㈢殑鍏抽敭銆侾TS琛ㄧず鏄劇ず鍗曞厓鍑虹幇鍦ㄧ郴緇熺洰鏍囪В鐮佸櫒(STD: system target decoder)鐨勬椂闂達紝DTS琛ㄧず灝嗗瓨鍙栧崟鍏冨叏閮ㄥ瓧鑺備粠STD鐨凟S瑙g爜緙撳瓨鍣ㄧЩ璧扮殑鏃跺埢銆?span lang=ZH-CN style="FONT-SIZE: 11.5pt; FONT-FAMILY: 瀹嬩綋">姣忎釜I銆?/span>P銆?/span>B甯х殑鍖呭ご閮芥湁涓涓?/span>PTS鍜?/span>DTS錛屼絾PTS涓?/span>DTS瀵?/span>B甯ч兘鏄竴鏍風殑錛屾棤欏繪爣鍑?/span>B甯х殑DTS銆傚I甯у拰P甯э紝鏄劇ず鍓嶄竴瀹氳瀛樺偍浜庤棰戣В鐮佸櫒鐨勯噸鏂版帓搴忕紦瀛樺櫒涓紝緇忚繃寤惰繜錛堥噸鏂版帓搴忥級鍚庡啀鏄劇ず錛屼竴瀹氳鍒嗗埆鏍囨槑PTS鍜?/span>DTS銆?/span> 涓婅妭浠嬬粛榪囷紝ES棣栧厛闇鎵撳寘鎴怭ES嫻佸寘錛岀劧鍚嶱ES鏍規嵁闇瑕佹墦鍖呮垚PS鎴朤S鍖呰繘琛屽瓨鍌ㄦ垨浼犺緭銆傚叾姣忚礬ES鍙寘鍚竴璺俊婧愮殑緙栫爜鏁版嵁嫻侊紝鎵浠ユ瘡璺疨ES涔熷彧鍖呭惈鐩稿搴斾俊婧愮殑鏁版嵁嫻併?/p> 瀵筆S嫻佽岃█錛屾瘡涓狿ES鍖呭ご鍚湁PTS鍜孌TS錛屾祦璇嗗埆鐮侊紝鐢ㄤ簬鍖哄埆涓嶅悓鎬ц川ES銆傜劧鍚庨氳繃PS澶嶇敤鍣ㄥ皢PES鍖呭鐢ㄦ垚PS鍖呫傚疄闄呬笂鏄皢PES鍖呭垎瑙d負鏇寸粏灝忕殑PS鍖呫傚湪瑙g爜鐨勬椂鍊欙紝瑙e鐢ㄥ櫒灝哖S鍒嗚В鎴愪竴涓釜PES鍖咃紝鎷嗗寘鍣ㄧ劧鍚庡皢PES鍖呮媶鎴愯棰戝拰闊抽鐨凟S錛屾渶鍚庤緭鍏ヨ嚦鍚勮嚜瑙g爜鍣ㄨ繘琛岃В鐮併備竴涓棶棰樻槸錛氬悇涓狤S鍦ㄨВ鐮佹椂錛屽浣曚繚璇佽闊抽鐨勫悓姝ュ憿錛熼櫎浜哖TS鍜孌TS鐨勯厤鍚堝伐浣滃錛岃繕鏈変竴涓噸瑕佺殑鍙傛暟鏄疭CR(system clock reference)銆傚湪緙栫爜鐨勬椂鍊欙紝PTS錛孌TS鍜孲CR閮芥槸鐢盨TC(system time clock)鐢熸垚鐨勶紝鍦ㄨВ鐮佹椂錛孲TC浼氬啀鐢燂紝騫墮氳繃閿佺浉鐜礬錛圥LL錛峱hase lock loop錛夛紝鐢ㄦ湰鍦癝CR鐩鎬綅涓庤緭鍏ョ殑鐬椂SCR鐩鎬綅閿佺浉姣旇緝錛屼互紜畾瑙g爜榪囩▼鏄惁鍚屾錛岃嫢涓嶅悓姝ワ紝鍒欑敤榪欎釜鐬椂SCR璋冩暣27MHz鐨勬湰鍦版椂閽熼鐜囥傛渶鍚庯紝PTS錛孌TS鍜孲CR涓璧烽厤鍚堬紝瑙e喅瑙嗛煶棰戝悓姝ユ挱鏀劇殑闂銆侾S鏍煎紡鎽樺綍濡備笅錛?/p> PS鍖呯殑闀垮害姣旇緝闀夸笖鍙彉錛屼富瑕佺敤浜庢棤璇爜鐜閲岋紝鍥犱負瓚婇暱鐨勮瘽錛屽悓姝ヨ秺鍥伴毦錛屼笖鍦ㄤ涪鍖呯殑鎯呭喌涓嬶紝閲嶇粍涔熻秺鍥伴毦銆傛墍浠ワ紝PS閫傚悎浜庤妭鐩俊鎭殑緙栬緫鍜屾湰鍦板唴瀹瑰簲鐢ㄧ殑application銆?/p> TS嫻佷篃鏄敱涓涓垨澶氫釜PES緇勫悎鑰屾潵鐨勶紝浠栦滑鍙互鍏鋒湁鐩稿悓鐨勬椂闂村熀鍑嗭紝涔熷彲浠ヤ笉鍚屻傚叾鍩烘湰鐨勫鐢ㄦ濇兂鏄紝瀵瑰叿鏈夌浉鍚屾椂闂村熀鍑?font color=#000000>鐨勫涓狿ES鐜拌繘琛岃妭鐩鐢?/font>錛岀劧鍚庡啀瀵圭浉浜掓湁鐙珛鏃墮棿鍩哄噯鐨勫悇涓狿S榪涜浼犺緭澶嶇敤錛屾渶緇堜駭鐢熷嚭TS銆?/font>
TS鍖呯敱鍖呭ご鍜屽寘鏁版嵁2閮ㄥ垎緇勬垚錛屽叾涓寘澶磋繕鍙互鍖呮嫭鎵╁睍鐨勮嚜閫傜敤鍖恒傚寘澶撮暱搴﹀崰4bytes錛岃嚜浣跨敤鍖哄拰鍖呮暟鎹叡鍗?84bytes錛屾暣涓猅S鍖呴暱搴︾浉褰撲簬4涓狝TM鍖呴暱銆?span style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 藥胎">TS鍖呯殑鍖呭ご鐢卞涓嬪浘鎽樺綍鎵紺虹殑鍚屾瀛楄妭銆佷紶杈撹鐮佹寚紺虹銆佹湁鏁堣澆鑽峰崟鍏冭搗濮嬫寚紺虹銆佷紶杈撲紭鍏堛佸寘璇嗗埆錛?/span>PID-Packet Identification錛夈佷紶杈撳姞鎵版帶鍒躲佽嚜閫傚簲鍖烘帶鍒跺拰榪炵畫璁℃暟鍣?/span>8涓儴鍒嗙粍鎴愩?/span>
![]() 鍏朵腑錛屽彲鐢ㄥ悓姝ュ瓧鑺備綅涓茬殑鑷姩鐩稿叧鐗規э紝媯嫻嬫暟鎹祦涓殑鍖呴檺鍒訛紝寤虹珛鍖呭悓姝ワ紱浼犺緭璇爜鎸囩ず絎︼紝鏄寚鏈変笉鑳芥秷闄よ鐮佹椂錛岄噰鐢ㄨ鐮佹牎姝hВ鐮佸櫒鍙〃紺?/span>1bit 鐨勮鐮侊紝浣嗘棤娉曟牎姝o紱鏈夋晥杞借嵎鍗曞厓璧峰鎸囩ず絎︼紝琛ㄧず璇ユ暟鎹寘鏄惁瀛樺湪紜畾鐨勮搗濮嬩俊鎭紱浼犺緭浼樺厛錛屾槸緇?/span>TS鍖呭垎閰嶄紭鍏堟潈錛?/span>PID鍊兼槸鐢辯敤鎴風‘瀹氱殑錛岃В鐮佸櫒鏍規嵁PID灝?/span>TS涓婁粠涓嶅悓ES鏉ョ殑TS鍖呭尯鍒嚭鏉ワ紝浠ラ噸寤哄師鏉ョ殑ES錛涗紶杈撳姞鎵版帶鍒訛紝鍙寚紺烘暟鎹寘鍐呭鏄惁鍔犳壈錛屼絾鍖呭ご鍜岃嚜閫傚簲鍖烘案榪滀笉鍔犳壈錛涜嚜閫傚簲鍖烘帶鍒訛紝鐢?/span>2 bit琛ㄧず鏈夊惁鑷傚簲鍖猴紝鍗籌紙01錛夎〃紺烘湁鏈夌敤淇℃伅鏃犺嚜閫傚簲鍖猴紝錛?/span>10錛夎〃紺烘棤鏈夌敤淇℃伅鏈夎嚜閫傚簲鍖猴紝錛?/span>11錛夎〃紺烘湁鏈夌敤淇℃伅鏈夎嚜閫傚簲鍖猴紝錛?/span>00錛夋棤瀹氫箟錛涜繛緇鏁板櫒鍙PID鍖呬紶閫侀『搴忚鏁幫紝鎹鏁板櫒璇繪暟錛屾帴鏀剁鍙垽鏂槸鍚︽湁鍖呬涪澶卞強鍖呬紶閫侀『搴忛敊璇傛樉鐒訛紝鍖呭ご瀵?/span>TS鍖呭叿鏈夊悓姝ャ佽瘑鍒佹閿欏強鍔犲瘑鍔熻兘銆?/span> TS鍖呰嚜閫傚簲鍖虹敱鑷傚簲鍖洪暱銆佸悇縐嶆爣蹇楁寚紺虹銆佷笌鎻掑叆鏍囧織鏈夊叧鐨勪俊鎭拰濉厖鏁版嵁4閮ㄥ垎緇勬垚銆傚叾涓爣蹇楅儴鍒嗙敱闂存柇鎸囩ず絎︺侀殢鏈哄瓨鍙栨寚紺虹銆?/span>ES浼樺寲鎸囩ず絎︺?/span>PCR鏍囧織銆佹帴鐐規爣蹇椼佷紶杈撲笓鐢ㄦ暟鎹爣蹇椼佸師濮?/span>PCR鏍囧織銆佽嚜閫傚簲鍖烘墿灞曟爣蹇?/span>8涓儴鍒嗙粍鎴愩傞噸瑕佺殑鏄爣蹇楅儴鍒嗙殑PCR瀛楁錛屽彲緇欑紪瑙g爜鍣ㄧ殑27MHz鏃墮挓鎻愪緵鍚屾璧勬枡錛岃繘琛屽悓姝ャ傚叾榪囩▼鏄紝閫氳繃PLL錛岀敤瑙g爜鏃舵湰鍦扮敤PCR鐩鎬綅涓庤緭鍏ョ殑鐬椂PCR鐩鎬綅閿佺浉姣旇緝錛岀‘瀹氳В鐮佽繃紼嬫槸鍚﹀悓姝ワ紝鑻ヤ笉鍚屾錛屽垯鐢ㄨ繖涓灛鏃?/span>PCR璋冩暣鏃墮挓棰戠巼銆傚洜涓猴紝鏁板瓧鍥懼儚閲囩敤浜嗗鏉傝屼笉鍚岀殑鍘嬬緝緙栫爜綆楁硶錛岄犳垚姣忓箙鍥懼儚鐨勬暟鎹悇涓嶇浉鍚岋紝浣跨洿鎺ヤ粠鍘嬬緝緙栫爜鍥懼儚鏁版嵁鐨勫紑濮嬮儴鍒嗚幏鍙栨椂閽熶俊鎭垚涓轟笉鍙兘銆備負姝わ紝閫夋嫨浜嗘煇浜涳紙鑰岄潪鍏ㄩ儴錛?/span>TS鍖呯殑鑷傚簲鍖烘潵浼犻佸畾鏃朵俊鎭備簬鏄紝琚変腑鐨?/span>TS鍖呯殑鑷傚簲鍖猴紝鍙敤浜庢祴瀹氬寘淇℃伅鐨勬帶鍒?/span>bit鍜岄噸瑕佺殑鎺у埗淇℃伅銆傝嚜閫傚簲鍖烘棤欏諱即闅忔瘡涓寘閮藉彂閫侊紝鍙戦佸灝戜富瑕佺敱閫変腑鐨?/span>TS鍖呯殑浼犺緭涓撶敤鏃舵爣鍙傛暟鍐沖畾銆傛爣蹇椾腑鐨勯殢鏈哄瓨鍙栨寚紺虹鍜屾帴鐐規爣蹇楋紝鍦ㄨ妭鐩彉鍔ㄦ椂錛屼負闅忔満榪涘叆I甯у帇緙╃殑鏁版嵁嫻佹彁渚涢殢鏈鴻繘鍏ョ偣錛屼篃涓烘彃鍏ュ綋鍦拌妭鐩彁渚涙柟渚褲傝嚜閫傚簲鍖轟腑鐨勫~鍏呮暟鎹槸鐢變簬PES鍖呴暱涓嶅彲鑳芥濂借漿涓?/span>TS鍖呯殑鏁存暟鍊嶏紝鏈鍚庣殑TS鍖呬繚鐣欎竴灝忛儴鍒嗘湁鐢ㄥ閲忥紝閫氳繃濉厖瀛楄妭鍔犱互濉ˉ錛岃繖鏍峰彲浠ラ槻姝㈢紦瀛樺櫒涓嬫孩錛屼繚鎸佹葷爜鐜囨亽瀹氫笉鍙樸?/span> 鍓嶉潰3鑺傛葷粨浜哅PEG2 TS鐨勫熀鏈牸寮忥紝鍏朵腑鍖呮嫭PES錛孭S鍜孴S錛屼互鍙婄浉鍏沖瓧孌電殑浠嬬粛銆傞偅涔堜綔涓轟竴縐嶄紶杈撴祦錛孴S灝嗗唴瀹硅繘琛屾墦鍖?澶嶇敤錛岃鍏跺獟浣撳唴瀹瑰彉鎴怲S浼犺緭錛屽茍鏈緇堝湪瑙g爜绔В鐮併傜畝鍗曟潵鐪嬶紝TS鏄竴涓紶杈撳眰鐨勫崗璁爤錛屽畠鍙互鎵胯澆鍚勭鍐呭鐨勪紶杈擄紝姣斿MPEG錛學MV錛孒264錛岀敋鑷蟲槸IP錛岄偅涔堝叾涓殑浼犺緭瑙勮寖鏄浣曞畾涔夌殑鍛紵榪欎釜鍗蟲槸PSI錛堣妭鐩壒瀹氫俊鎭級瑕佸仛鐨勪簨鎯呫?/font> PSI鐢卞洓寮犺〃鏋勬垚錛歅AT錛孭MT錛孋AT鍜孨IT錛岃繖鍥涘紶琛ㄥ垎鍒弿榪頒簡涓涓猅S鎵鍖呮嫭鐨勬墍鏈塃S嫻佺殑浼犺緭緇撴瀯銆傞鍏堢殑涓涓蹇墊槸錛孴S鏄互鍖呭艦寮忎紶鎾紝鍦ㄧ紪瑙g爜绔兘闇瑕佷互涓瀹氱殑鍖匢D鏉ユ爣璇員S嫻侀噷鎵胯澆鐨勫唴瀹癸紝姣斿錛孭AT琛ㄤ細瀛樺湪浜庝竴涓垨澶氫釜TS鍖呴噷錛屾墍浠ヨ鐢ㄤ竴涓壒鍒殑鍖匢D鏉ヨ〃紺猴紝鍙﹀錛屼笉鍚岀殑ES嫻佷篃闇瑕佷笉鍚岀殑鍖匢D鏉ユ爣璇嗐傛垜浠湁浜哖AT鍜孭MT榪欎袱縐嶈〃錛岃В鐮佸櫒灝卞彲浠ユ牴鎹甈ID錛屽皢TS涓婁粠涓嶅悓ES鏉ョ殑TS鍖呭尯鍒嗗嚭鏉ヨ繘琛岃В鐮併?/font> TS鐨勮В鐮佸垎涓ゆ榪涜錛屽叾涓錛屾槸浠嶱ID涓?span class=566290807-13102006>0鐨凾S鍖呴噷錛岃В鏋愬嚭PAT琛紝鐒跺悗浠嶱AT琛ㄩ噷鎵懼埌鍚勪釜鑺傜洰婧愮殑PID錛屼竴鑸綾昏妭鐩簮閮界敱鑻ュ共涓狤S嫻佺粍鎴愶紝騫舵弿榪板湪PMT琛ㄩ噷闈紝鐒跺悗閫氳繃鑺傜洰婧愮殑PID錛屽氨鍙互鍦≒MT琛ㄩ噷媯绱㈠埌鍚勪釜ES鐨凱ID銆傚叾浜岋紝瑙g爜鍣ㄦ牴鎹甈MT琛ㄩ噷鐨凟S嫻佺殑PID錛屽皢TS嫻佷笂鐨勫寘榪涜鍖哄垎錛屽茍鎸変笉鍚岀殑ES嫻佽繘琛岃В鐮併傛墍浠ワ紝TS鏄粡榪囪妭鐩鐢ㄥ拰浼犺緭澶嶇敤涓ゅ眰瀹屾垚鐨勶紝鍗沖湪鑺傜洰澶嶇敤鏃訛紝鍔犲叆浜哖MT錛屽湪浼犺緭澶嶇敤鏃訛紝鍔犲叆浜哖AT銆傚悓鏍峰湪鑺傜洰瑙e鐢ㄦ椂錛屽彲浠ュ緱鍒癙MT錛屽湪浼犺緭瑙e鐢ㄦ椂錛屽彲浠ュ緱鍒癙AT銆備笅鍥懼緢濂藉湴姒傝堪浜嗗叾鎬濇兂銆?/span> TS鏄敮鎸佸璺鐢ㄧ殑錛屾墍浠ュ畠鍙敤鏉ヤ紶杈撶粡澶嶇敤鍚庣殑澶氬眰鑺傜洰銆傚湪澶嶇敤榪囩▼涓紝瑕佹敞鎰忕殑鏄紝瑙g爜榪囩▼涓墍闇瑕侀潰瀵圭殑鏃墮棿鍙傝冨拰鍚屾闂錛屽洜涓鴻В澶嶇敤鏄渶瑕佸悇縐嶄俊鎭悓姝ヨ繘琛岀殑錛屾墍浠ュ湪澶嶇敤榪囩▼涓紝灝遍渶瑕佹彃鍏ョ浉鍏崇殑鏃墮棿淇℃伅錛歅TS錛孌TS錛孭CR銆?/p> 鍦═S褰㈡垚榪囩▼涓紝PTS鍜孌TS鏄湪ES鎵撳寘鎴怭ES鏃訛紝鏍規嵁STC鐨勫弬鑰冿紝灝嗗叾鏃墮挓淇℃伅娉ㄥ叆PES鍖呬腑鐨勶紝鑰屼箣鍚庡湪PES鍒囨垚TS鏃訛紝鍐嶅皢PID鍜孭CR淇℃伅娉ㄥ叆鍒癟S鍖呬腑錛屽綋澶氳礬TS鍐嶈繘琛屽鐢ㄧ殑鏃跺欙紝鍚勮礬TS鐨凱CR灝嗕細琚彁鍙栧嚭鏉ワ紝鍐嶈繘琛屽垎鏋愶紝鐒跺悗鍐嶆牴鎹粺涓鐨凷TC鍙傝冿紝灝嗘柊鐨凱CR鐢熸垚騫舵敞鍏ュ埌TS涓幓錛屾渶鍚庯紝鍥犱負鍘熸潵PAT琛ㄤ俊鎭笉鍦ㄩ傜敤錛屾墍浠ユ柊鐨凱AT琛ㄩ渶瑕佸啀鐢熸垚錛屽茍闄勫姞鍒版柊鐨凾S嫻佷腑鍘匯傜粡榪囪繖澶氬眰鐨勫鐢ㄤ箣鍚庯紝鏂扮殑TS嫻佸嵆鍙互榪涘叆璋冨埗錛屼紶杈撻樁孌點傝繃紼嬪彲鍙傝涓嬪浘錛?/p> 瑙g爜榪囩▼瑕侀潰瀵圭殑闂鏄細瑙e鐢紝瑙嗛煶棰戠殑鍚屾錛岃В鐮佺紦瀛樺櫒鏃犱笂涓嬫孩銆傝В澶嶇敤鍗蟲槸灝員S鍦ㄥ悓涓淇¢亾閲屼笉鍚屾椂搴忚繘琛屼紶杈撶殑鑺傜洰鍒嗙鍑烘潵錛涜闊抽鍚屾鐢盌TS, PTS鍜孭CR涓夎呭崗璋冨畬鎴愶紝騫朵笖PCR鏄噸寤虹郴緇熸椂闂村熀鍑嗙殑緇濆鏃舵爣錛岃孌TS鍜孭TS鏄В鐮佸拰閲嶇幇鏃跺埢鐨勭浉瀵規椂鏍囷紱瀵硅В鐮佺紦瀛樺櫒鏃犱笂涓嬫孩鐨勯棶棰橈紝蹇呴』鍊熷姪浜庣郴緇熺洰鏍囪В鐮佸櫒錛圫TD錛夋ā鍨嬫潵瀵瑰叾榪涜瀹炵幇錛屽熀鏈濇兂濡備笅錛?/p>
鍏惰繃紼嬪彲鍙傝涓嬪浘錛?/p> |
鏈夌殑緗戝弸瀹夎ProCoder 3鍚庯紝鍙互鍚姩錛屽彲浠ユ甯鎬嬌鐢紝鏈夌殑緗戝弸瀹夎ProCoder 3鍚庯紝涓嶈兘鍚姩錛屾棤娉曚嬌鐢ㄣ傜┒绔熶負浠涔堜細鍑虹幇涓ょ涓嶅悓鐨勬儏鍐靛憿錛熺粡榪囧嚑澶╁ProCoder 3澶氭榪涜瀹夎鍗歌澆銆佸嵏杞藉畨瑁呯殑璇曢獙錛岀粓浜庢壘鍒頒簡浜х敓闂鐨勫師鍥狅細涓庡畨瑁匛DIUS4錛?.5鎴?.51錛夊悗閲囩敤鐨勭牬瑙f柟娉曟湁鐩存帴鍏崇郴銆?/p> EDIUS4錛?.5鎴?.51錛夌殑鐮磋В鏂規硶鏈変袱縐嶏細絎竴縐嶆柟娉曟槸榪愯Canopus.Edius.4.xcrack.exe瑙i櫎30澶╃殑浣跨敤闄愬埗錛涚浜岀鏂規硶鏄皢1.5KB鐨刾avedius.dll錛?006-8-15 16:26錛夊鍒跺埌windows\system32涓鐩栧師鏂囦歡瑙i櫎30澶╃殑浣跨敤闄愬埗銆?/p> 閲囩敤絎竴縐嶆柟娉曠牬瑙e悗錛?windows\system32涓璸avedius.dll鐨勫ぇ灝忎負48KB錛屽湪榪欑鎯呭喌涓嬪畨瑁匬roCoder 3鍚庯紝windows\system32涓璸avedius.dll鐨勫ぇ灝忎粛涓?8KB錛孭roCoder 3娌℃湁鐮磋В錛屾墍浠ヤ笉鑳藉惎鍔紝瑕佹兂璁㏄roCoder 3鍚姩錛屽氨蹇呴』灝?.5KB鐨刾avedius.dll錛?006-8-15 16:26錛夊鍒跺埌windows\system32涓鐩栧師鏂囦歡鎵嶈銆傚鏋滀綘瀹夎EDIUS4錛?.5鎴?.51錛夊悗閲囩敤浜嗙涓縐嶇牬瑙f柟娉曪紝閭d箞浣犲畨瑁匬roCoder 3鍚庡氨浼氶亣鍒伴夯鐑︼紝鍚姩涓嶈搗鏉ャ傛湰浜哄氨灞炰簬榪欑鎯呭喌銆?/p> 閲囩敤絎簩縐嶆柟娉曠牬瑙e悗錛寃indows\system32涓殑pavedius.dll涓?.5KB錛屽湪榪欑鎯呭喌涓嬪畨瑁匬roCoder 3鍚庯紝windows\system32涓璸avedius.dll鐨勫ぇ灝忓彉涓?.5KB錛孭roCoder 3宸茶鐮磋В錛屾墍浠ュ畨瑁呭悗灝卞彲鍚姩浣跨敤銆傚鏋滀綘瀹夎EDIUS4錛?.5鎴?.51錛夊悗閲囩敤浜嗙浜岀鐮磋В鏂規硶錛岄偅涔堜綘灝卞垢榪愪簡錛屽畨瑁呬笂ProCoder 3鍚庡氨鑳戒嬌鐢ㄣ?/p> ProCoder 3涓巔avedius.dll鍏崇郴瀵嗗垏, ProCoder 3瀹夎鍚庯紝褰搘indows\system32涓垨ProCoder 3鐨勫畨瑁呯洰褰曚腑鐨刾avedius.dll涓?.5KB鎴?.5KB鏃訛紝ProCoder 3鍙互鍚姩錛屾甯鎬嬌鐢ㄣ傚綋windows\system32鎴朠roCoder 3瀹夎鐩綍涓殑pavedius.dll涓?8KB鎴?6KB鏃訛紝ProCoder 3灝變笉鑳藉惎鍔紝鏃犳硶浣跨敤銆傝孭roCoder 2鍚宲avedius.dll鐨勫叧緋諱笌ProCoder 3鍗存湁鎵涓嶅悓銆傚綋windows\system32涓殑pavedius.dll涓?8KB鎴?6KB鏃訛紝浣犲氨鍒兂瀹夎涓奝roCoder 2錛屼細鎻愮ず紜洏絀洪棿涓嶈凍鏃犳硶瀹夎銆傚繀欏誨皢pavedius.dll鍒犻櫎錛屾垨灝唒avedius.dll鏇挎崲涓?.5KB鎴?.5KB鍚庢墠鑳藉畨瑁呫侾roCoder 2瀹夎涓婁互鍚庯紝windows\system32涓湁鏃爌avedius.dll浠ュ強pavedius.dll鐨勫ぇ灝忛兘涓嶅獎鍝嶅畠姝e父浣跨敤銆?/p> ProCoder 3涓嶱roCoder 2鍙互鍏卞瓨銆?br>鍦ㄧ數鑴戜腑娌℃湁瀹夎榪嘐DIUS銆佹垨windows\system32涓病鏈塸avedius.dll鐨勬儏鍐典笅錛?ProCoder 3瀹夎鍚庤偗瀹氬彲浠ユ甯鎬嬌鐢ㄣ傝繖鏃?windows\system32涓殑pavedius.dll涓?.5KB(007-3-27 0:00)錛屾槸鐢卞畨瑁?ProCoder 3鐢熸垚鐨勩?/p>
|
Packet鐨勬蹇?/p>
鍦ㄥ疄闄呬嬌鐢ㄤ腑,鍥犱負TS嫻佸凡緇忓唴閮ㄥ叿鏈夊緢寮虹殑閿欒澶勭悊鑳藉姏,鎵浠ヤ竴鑸嬌鐢ㄨ緝澶氱殑鏄?88瀛楄妭涓涓寘鐨勬牸寮?204瀛楄妭涓涓寘鐨勬牸寮忔嵁璇翠竴鑸湪楂樻竻鑺傜洰涓嬌鐢ㄨ緝澶?
typedef
{
}PACKET_HEADER;
浠ヤ笂緇撴瀯鍒氬ソ鍗犵敤32
瀹?nbsp;
鐜?nbsp;
榪?nbsp;
璇峰鐓т笂闈㈢殑PACKET_HEADER緇撴瀯:
typedef
{
}PACKET_HEADER;
閭d箞瀵圭収涓涓?鎴戜滑鍙互鍙戠幇:
渚濇綾繪帹,鍐嶇湅涓涓嬬浜屼釜鍖?0x47 絎笁涓寘鏄?0x47 璇風湅瑙g爜紼嬪簭<<Seekfor 涓婂浘鎴戜滑鍙互鍙戠幇,Taiwan-551.ts鏈変竴涓妭鐩彨"DIMO",瀹冪殑Video 榪樻湁涓涓妭鐩彨"Service 榪欎釜鏁版嵁鍒氬ソ鍜屾垜浠垰鎵嶇殑鍒嗘瀽鏄惢鍚堢殑. 浣?nbsp;
DVB SI鏄疭pecific 涓婅〃鏍肩殑PID灝辨槸錛わ級錛繚鐣欑殑錛幫緝錛わ紝鍒嗛厤鐨勫叾浠栵及錛╋激涓瀹氫笉浼氬崰鐢ㄨ繖浜涳及錛╋激錛庤В澶嶇敤紼嬪簭闇瑕佷嬌鐢ㄥ埌鐨勮〃鏍煎彧鏈塒AT,PMT,SDT,鑰岋跡錛″簲鐢ㄨ繕闇瑕佷嬌鐢–AT,EPG搴旂敤榪橀渶瑕佷嬌鐢∟IT,EIT,TDT,TOT絳夎〃鏍?鎵浠ュ湪闇瑕佽В澶嶇敤鐨勬椂鍊欙紝浼唬鐮侀渶瑕佽繖鏍峰啓: PAT, (1) (2) (3) PAT琛ㄥ畾涔夊涓? 鍚勫瓧孌靛惈涔夊涓? PMT, PMT琛ㄤ腑鍖呭惈鐨勬暟鎹涓? (1) (2) (3) PMT瀹氫箟濡備笅: 鍚勫瓧孌靛惈涔夊涓? reserved:4bits淇濈暀浣?涓鑸槸'0000' program_info_length:鑺傜洰淇℃伅闀垮害(涔嬪悗鐨勬槸N涓弿榪扮緇撴瀯,涓鑸彲浠ュ拷鐣ユ帀,榪欎釜瀛楁灝變唬琛ㄦ弿榪扮鎬葷殑闀垮害,鍗曚綅鏄疊ytes) 绱ф帴鐫灝辨槸棰戦亾鍐呴儴鍖呭惈鐨勮妭鐩被鍨嬪拰瀵瑰簲鐨凱ID鍙風爜浜? stream_type:8bits嫻佺被鍨?鏍囧織鏄疺ideo榪樻槸Audio榪樻槸鍏朵粬鏁版嵁. reserved:3 elementary_PID:13bits瀵瑰簲鐨勬暟鎹甈ID鍙風爜(濡傛灉stream_type鏄疺ideo,閭d箞榪欎釜PID灝辨槸Video reserved:4 ES_info_length:鍜宲rogram_info_length綾諱技鐨勪俊鎭暱搴?鍏跺悗鏄疦2涓弿榪扮鍙? CRC_32:32bits孌墊湯灝炬槸鏈鐨凜RC鏍¢獙鍊?涓鑸拷鐣? 浠庝互涓婄殑鍒嗘瀽鍙互鐪嬪嚭,鍙鎴戜滑澶勭悊浜哖MT,閭d箞鎴戜滑灝卞彲浠ヨ幏鍙栭閬撲腑鎵鏈夌殑PID淇℃伅,渚嬪褰撳墠棰戦亾鍖呭惈澶氬皯涓猇ideo,鍏卞灝戜釜Audio,鍜屽叾浠栨暟鎹?榪樿兘鐭ラ亾姣忕鏁版嵁瀵瑰簲鐨凱ID鍒嗗埆鏄粈涔? 榪欐牱濡傛灉鎴戜滑瑕侀夋嫨鍏朵腑涓涓猇ideo鍜孉udio鏀剁湅,閭d箞鍙渶瑕佹妸瑕佹敹鐪嬬殑鑺傜洰鐨刅ideo 姣旇緝鍏ㄩ潰瀹炵幇瑙e鐢ㄧ殑浼唬鐮佸涓? int void { { } } 浠ヤ笂浼唬鐮佸彲浠ュ疄鐜板熀鏈殑瑙e鐢?媯嫻嬫墍鏈夌殑棰戦亾,媯嫻嬫墍鏈塻tream鐨凱ID,閫夋嫨鐗瑰畾鐨勮妭鐩繘琛屾挱鏀?鍙璇誨彇姣忎釜Packet鐨?88瀛楄妭鐨勫唴瀹?鐒跺悗姣忔閮借皟鐢≒rocess_Packet()鍗沖彲瀹炵幇綆鍗曠殑瑙e鐢? 浠嬬粛鍒拌繖閲?鎴戜滑灝卞彲浠ユ葷粨涓涓婦VB鎼滃彴鐨勫師鐞嗕簡.(濂?媧楄蟲伃鍚?) 鍙緋葷粺浼犺緭閫熷害瓚沖蹇?灝辨槸縐頒箣涓?鐮佺巼"鐨勪笢涓?,瀹炵幇瀹炴椂鎾斁鏄病鏈変換浣曢棶棰樼殑. SDT, (1) (2) (3) SDT瀹氫箟濡備笅: 鍚勫瓧孌靛畾涔夊涓? 涓?nbsp;