當前位置:首頁 » 編程軟體 » ts配置沒用到的包不編譯

ts配置沒用到的包不編譯

發布時間: 2022-04-27 15:53:31

㈠ 怎麼樣把TS文件轉換(包)成MKV文件!!!

方法:
1.首先將下載完,已分割的TS文件重新合並為一個大文件TS,使用的軟體是TSSplitter V1.01版 (支持無損合並)。
2.分離出視頻和音頻。
3.分離出來的視頻文件用 AUTOMKV重新編碼。
4.如果想壓720P的 X264 一般選擇PROFILE為2_Pass_Balanced.xml,在set width resolution這項填入 1280 然後設定碼率 advanced setting---specify bitrate前打鉤 填入5000(碼率如果是想做D5的,5000就可以了,也可以根據畫質需要增大碼率,最後容量要根據音頻的大小和電影的長短決定),其他可以默認。
4.轉碼完成後得到的MKV視頻文件,再用MKVtoolnix合並封裝進去音軌 ,音頻根據需要可以直接封裝 或者自己再轉,(比如EAC3 轉 AC3 )最後生成整個影片的MKV,音頻與視頻不同步的話還需要自己調整一下。

㈡ 請問有沒有人能詳細的給我講一下TS包,PES包和ES包的關系 詳解TS包的頭部payload_start_unit_indictator

1. ES你可以理解為一段音頻或者視頻的數據,ES流可能會很大,所以要拆分成PES包,PES包的長度是有限制的,64KB。所以並不是一個ES對應一個PES。關於PES拆分成TS,你的理解是正確的,同一個PES的TS的PID是相同的

2. PAT是節目關聯表,你可以理解為PAT定義了PMT的位置(也就是PMT的PID),然後就可以根據PMT找到各個節目了,也就是你可以找到各個節目的PID了

㈢ ts不能正常使用

TeamSpeak 2 Client v2.0.32.60 (32 Bit)
TeamSpeak 2 Server v2.0.21.3 (32 Bit)
完全支持Vista
「伺服器無響應可能伺服器離線或者沒有啟動」,這是要連接的伺服器地址是無效ts伺服器或者連接ts時候瞬間丟包造成連接失敗,能確認地址是有效的話多連接兩次就可以了。而且要關閉防火牆試試

㈣ 怎麼樣把TS文件轉換(包)成MKV文件!!!

MeGUI、MKVauto很多類似的軟體。
不過、對電腦配置有點要求。並且對個人技術也有點要求
網上搜教程去吧~!
都行。
你想要提取音頻再壓縮,還是整體壓縮!
是可以,直接把TS的文件直接弄到MKV裡面封裝,不過,我建議還是先把TS視頻流壓製成其它格式再封裝。

㈤ 如何編譯windows nginx php

作了N多次php環境的搭建,網上的方法還真是多,但是實際操作起來總有一些大大小小的出入,很多錯誤經常讓我糾結不已.久病成醫,漸漸地我自己就總結出了一些經驗。自我感覺良好。
這種方法並非以前所流行的apache 加 php_mole 的方式運行,我是採用nginx 作為web伺服器,以fastcgi的方式運行php。
linux下編譯:
nginx我還是習慣選擇8.54的版本,它的編譯依賴以下幾個軟體包,解壓這些源碼包,在configure中設置好這些源碼的路徑,nginx在編譯的時候會自己將他們編譯進去的:
pcre: 主要用於rewrite等模塊
zlib:這個不用說了
openssl: 如果你還知道https這個東西,那麼你懂的~~~(當然你可以不需要這個功能)
md5 /sha1: 這兩者都是用於生成信息摘要的希哈演算法,這倆個東西不是必須的,但是我發現如果不選擇其中一個那麼openssl是不會成功地編譯進nginx的
下面是我自己寫的一個安裝腳本,有temp-path字樣的編譯選項所設置都是nginx在運行時產生的臨時文件的路徑,pid-path,lock-path也是臨時文件路徑,log-path是日誌文件路徑,我因為自己機子上一些許可權的問題所以要設置一下.一般情況下其實這些是不必要的,nginx默認會統統把生成的這些文件放在自己的安裝目錄下.
tmp=/tmp/nginx
log=/home/jsck/log
pcre=~/Downloads/pcre-8.02
zlib=~/Downloads/zlib-1.2.5-src
openssl=~/Downloads/openssl-0.9.8q
md5=~/Downloads/md5-1.3.0
./configure --prefix=/usr/local/nginx \
--http-proxy-temp-path=${tmp}/nginx-proxy.tmp \
--http-fastcgi-temp-path=${tmp}/nginx-fcgi.tmp \
--http-uwsgi-temp-path=${tmp}/nginx-uwsgi.tmp \
--http-scgi-temp-path=${tmp}/nginx-scgi.tmp \
--http-client-body-temp-path=${tmp}/nginx-client.tmp \
--pid-path=${tmp}/nginx.pid \
--lock-path=${tmp}/nginx.lock \
--http-log-path=${log}/http.log \
--error-log-path=${log}/http-error.log \
--with-pcre=$pcre \ #pcre 源碼包的路徑
--with-zlib=$zlib \ #zlib 源碼包的路徑
--with-http_ssl_mole \ #起用ssl支持
--with-openssl=$openssl #openssl 源碼包路徑
make
make install
php(5.2)的編譯可以復雜點,也可以簡單點,因為我們編譯php時主要目的是編譯它的腳本引擎和一些核心庫,很多外圍的東西不一定非要在編譯php的時候加進去,可以在需要的時候將它們編譯成擴展庫再修改配置文件來載入它們。
我的編譯代碼如下:
./configure --prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \#設置mysql的安裝路徑
--enable-fastcgi \ #開啟fastcgi支持
--enable-debug #支持調試
make
make install
其實關於mysql的那一句都是可以不要的,只是我懶得再編譯一次mysql擴展,所以就這樣把它直接編譯進php了,這樣做的前提是你必須先安裝mysql。
令外還有一些注意事項:編譯php時必須確保系統中擁有libxml2與libxml2-dev這倆個軟體包,因為php默認會將xml的功能編譯進去,所以xml的支持是必不可少的。還有一個就是autoconf這條命令了,在編譯擴展的時候,phpize會調用系統中的這個命令來生成擴展包的configure文件,沒有它你就不能作擴展了,這一點也是要記住的,畢竟linux下的php不像windows版那樣事先把所有的擴展都編譯好了。
至於window下nginx,php的安裝就沒有什麼難度了,下個zip包,解壓就能用,只要稍微配置就可以了.
配置:
如果只是想讓php能運行的話那麼直接輸入命令:
./php-cgi -b 3344
這樣就開啟了php的fastcgi進程了,-b參數是綁定該進程的偵聽埠,隨便找個沒用的埠填就可以了,這里綁定的是3344.
然後在nginx的配置文件中加上這么幾行:
location ~ \.php$ {
root /home/jsck/www; #這是你網站的根目錄
fastcgi_pass127.0.0.1:3344; #這里指定了fastcgi進程偵聽的埠,nginx就是通過這里與php交互的
fastcgi_index index.php;
fastcgi_paramSCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
如果要改nginx的偵聽埠的話找到"listen"這么一項,改就是了.運行nginx,在/home/jsck/www目錄中寫一個測試文件test.php:
<?php
phpinfo();
?>
訪問http://localhost:8080/test.php,如果顯示了php所以的配置信息,那麼就基本沒什麼問題,已經可以用這個環境寫些php代碼了.
至於php的調試器我選擇xdebug,不為什麼,習慣所致。載入xdebug時,在配置文件中的寫法根據系統的不同好像也有點不同。linux下是:zend_extension_debug=<path>,window中載入的dll有兩種,一種文件名會帶有ts的後綴,這種要這要樣寫:zend_extension_ts=<path>另外一種就這樣:zend_extension=<path>,path一定要寫絕對路徑。雖然ts為何意我也不是很清楚,但是這些設置是一定不可以搞錯的。
設置好後重新運行php-cgi,然後重新訪問test.php,如果有xdebug的那一塊出現了,那麼就成功了.
當然這是一個很簡單的配置,只能讓你運行php,要想真正做成你需要的開發環境,還需要你根據自己的需要修改php和nginx的配置文件,這些配置內容很多,我自己也在學習中,就不好多講了.
另外有一點需要注意,php的配置文件在它的源碼包中有兩個:php.ini-dist和php.ini-recommended,分別是針對生成環境和開發環境的配置.你需要把其中一個改名為php.ini.重啟後查看phpinfo()的頁面,靠上的地方有一項"Loaded Configuration File",它的值如果就是你的php.ini的路徑,那麼就沒問題了,如果不是話,就看看上面一項"Configuration File (php.ini) Path",你把你的php.ini文件移到這個目錄下在重啟就可以了.因為php默認會在這個路徑下尋找php.ini的.當然你也可以在運行php-cgi的時候設置你的php.ini路徑,比如這樣:
php-cgi -b 3344 -c /home/jsck/php.ini
這樣就是把/home/jsck/php.ini這個文件作為配置文件了.
按鈕!!

㈥ 為什麼把TS文件轉換為MP4格式的文件時在手機上放不了

把TS文件轉換為MP4格式在手機上放不了的原因:
一是轉換時採用的視頻編碼方式,手機不支持。同為MP4格式的視頻文件,它的編碼方式有多種:DIVX、XVID、H264等。 而手機支持的MP4視頻的編碼方式,通常為DIVX和H264,而對XVID支持不太好。
二是如果轉換出的MP4的解析度,大於手機支持的最高解析度,同樣不能正常播放。
解決辦法:用格式工廠轉換一下,還是轉換成MP4格式,在轉換時點開輸出配置,在視頻編碼這一行,分別選用DVIX或H264試試。 在屏幕大小這一行,選用640*480。 這樣轉換出的MP4,就可以正常播放了。

㈦ ionic 編譯後為什麼有些ts沒有

make是根據依賴文件的時間戳來決定要不要重新編譯的。在:object: deplist # actions中,可以把頭文件加進deplist,這樣修改頭文件後,make就會重新編譯了。單純地修改文件,而不設置Makefile,則make程序不知道你這個文件對應哪個編譯目標

㈧ 怎麼用typescript做網頁

TypeScript項目和tsconfig.json
首先安裝TypeScript編譯器
npm i -g typescript

進入項目目錄,新建一個 hello.ts
function sayHello(name: string) {
return 'Hello, ' + name;
}

let myName = 'Cheng Wang';

console.log(sayHello(myName));

然後執行
tsc hello.ts

編譯器會生成 hello.js
function sayHello(name) {
return 'Hello, ' + name;
}
var myName = 'Cheng Wang';
console.log(sayHello(myName));

為了方便編譯器和編輯器識別TypeScript項目,TypeScript約定了tsconfig.json文件來存儲項目配置,如果運行 tsc 時不指定輸入文件,編譯器則會查找項目目錄中的這個文件,如果找不到則會依次向父級目錄查找。比如這樣:
{
"compilerOptions": {
"outFile": "dist/app.js",
"sourceMap": true
},
"files": [
"src/app.ts"
]
}

直接運行 tsc ,會自動把 src/app.ts 編譯到 dist/app.js 。
關於這個配置文件的更多選項,可以看 官方文檔 。
使用模塊
TypeScript中,模塊的使用方法與ES6一致。
src/moles/utilities.ts :
function getUrlParam(key: string) {

const REG_PATTERN = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');
let result: string[] = location.search.substr(1).match(REG_PATTERN);

if (result !== null) {
return decodeURIComponent(result[2]);
} else {
return null;
}

}

export { getUrlParam }

src/app.ts :
import { getUrlParam } from './moles/utilities';

let deviceType: string = getUrlParam('deviceType');

console.log(deviceType);

編譯後的app.js(TypeScript編譯器在輸出單個文件時,只能使用AMD或System模塊規范):
define("moles/utilities", ["require", "exports"], function (require, exports) {
"use strict";
function getUrlParam(key) {
var REG_PATTERN = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');
var result = location.search.substr(1).match(REG_PATTERN);
if (result !== null) {
return decodeURIComponent(result[2]);
}
else {
return null;
}
}
exports.getUrlParam = getUrlParam;
});
define("app", ["require", "exports", "moles/utilities"], function (require, exports, utilities_1) {
"use strict";
var deviceType = utilities_1.getUrlParam('deviceType');
console.log(deviceType);
});

使用NPM庫
我們開發JS程序的時候,要用到NPM上的第三方的庫,比如jQuery、Lodash等,但是絕大多數庫都是用JS寫的,沒有類型提示,我們也不能在在代碼中將這些庫作為模塊引入。
比如我們需要在項目中使用Lodash:
npm i --save lodash

然後在代碼中引入:
import * as _ from 'lodash';

console.log(_.camelCase('helloworld'))

運行 tsc 則報錯:
src/app.ts(1,20): error TS2307: Cannot find mole 'lodash'.

如果想在TypeScript代碼中直接使用npm上的JS庫,需要藉助Typings這個工具。
Typings也是一個包管理器,它管理的是JS代碼「定義文件」,用Typings安裝相應的定義文件後,編輯器和編譯器就可以去node_moles目錄中找到相應的JS庫,並編譯到最終的JS代碼中。
先安裝Typings工具:
npm i -g typings

然後安裝Lodash的定義文件:
typings install --save lodash

Typings會去NPM、Bower上尋找庫的作者加的定義文件,但是有的庫如jQuery並沒有官方的定義文件,則需要從社區維護的 DefinitelyTyped 目錄下安裝:
typings install --save --ambient jquery

然後再tsconfig.json中的files配置中加入一條:

"files": [
"src/app.ts",
"typings/main.d.ts"
]

此時編譯就不會提示找不到模塊了。
安裝好定義文件之後,如果使用Visual Studio Code等對TypeScript支持較好的編輯器,則會提供更加強大的代碼提示功能。
使用Webpack構建
TypeScript編譯器支持很多模塊組織規范,如ES6、commonJS、AMD等,但是如果想要將多個ts文件打包成一個文件,TypeScript只支持AMD和System,對於瀏覽器應用來說,還需要引入第三方的模塊載入器。如果使用Webpack配合TypeScript的loader,則可以方便地構建瀏覽器可以運行的JS代碼。
首先安裝Webpack和ts-loader:
npm i webpack -g

npm i ts-loader --save-dev

然後配置項目目錄中的webpack.config.js:
mole.exports = {

entry: './src/app.ts',

output: {
filename: 'app.js',
path: './dist'
},

resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
},

mole: {
loaders: [
{ test: //.ts$/, loader: 'ts-loader' }
]
}

}

然後就可以通過運行 webpack 來構建了,構建生成的代碼自帶了webpack的模塊載入器,可以直接在瀏覽器中運行。

㈨ 如何學慣用Typescript寫Reactjs

首先掃盲一下,先從搭建環境開始:
1.安裝node,因為ts的編譯器是js/ts寫的;
安裝node後同時獲得npm命令,這是nodejs世界裡的包管理器(也可以看作node的app商店);
2.安裝vs 2015或者vs code,當然這不是必須的,但是這里強烈推薦寫ts的工具,vs第一,vsc第二;
3.vs自帶了TypeScript(vs2012+,vs2015update1自帶了ts1.7),最新版本的typescript for vs去官網下載即可, 或者如果不依賴vs(比如mac環境), 可以用命令行裝ts編譯器
npm i -g typescript@next
4. 安裝了ts後, 就會有2個命令可用:tsc和tsd, tsc用來編譯TypeScript代碼, tsd用來下載第三方js類庫的ts定義文件(或者叫頭文件),熟練使用tsd,工作效率提升,因為減少了80%查文檔的時間,所以寫ts可以說是jser打通了任督二脈,上手任何新的開發環境都很快;
有網友指正tsd工具不是安裝ts的時候自帶的,需要另外安裝,裝太久不記得了。
npm install tsd -g
5. 命令行下載react的ts頭文件,
tsd install react-global --save
注意上面之所以寫 react-global 而不是react, 因為我們接下來使用比較原始的寫法,直接把React當作全局對象使用, 而不作為es6模塊(必須用import引入),不需要Babel編譯也不需要webpack打包;
上面執行的tsd命令下載了ReactJS類庫的頭文件, 下面用tsc命令創建一個ts項目配置文件
tsc --init
命令創建了tsconfig.json配置文件, 打開該文件
增加"jsx": "react", 就是自動把tsx變成最終的js, 而不是jsx
把"outDir": "built", 這行去掉,這樣編譯的文件就會在當前目錄輸出
"target": "es5", 這里es3改成es5,
"watch": true 是否監聽文件修改 如果你用的是vs,這行不重要
6.下載reactjs文件,如果沒有安裝bower命令,可以手動去官網下載react類庫
bower install --save react
7.以上環境配置好了, 開始寫代碼:
創建一個demo.tsx文件(注意這里是tsx, 不是ts也不是jsx)
創建一個demo.html, 添加文件的引用
<!doctype html>
<html>
<head>
<script src="bower_components/react/react.min.js"></script>
<script src="bower_components/react/react-dom.min.js"></script>
<script src="demo.js"></script>
</head>
<body>
</body>
</html>
8. demo.tsx 寫代碼
class MyClass extends React.Component<any, any> {
render() {
return <h1>hello {this.props.name}</h1>;
}
}
document.addEventListener('DOMContentLoaded', function () {
ReactDOM.render(<MyClass name="Tom" />, document.body);
});
9. 如果保存了demo.tsx後, 沒有在目錄下發現自動編譯了demo.js, 那麼可能是vs沒配置好,如果你沒有裝vs或者vsc,沒關系,在當前文件夾下命令行運行
tsc
tsc命令會自動根據tsconfig.json裡面配置的情況, 自動幫你把代碼編譯成js, 這是編譯後的js文件
10. 打開demo.html可以看到效果了;
11. 至於題主說怎麼學習, 其實跟JS完全沒兩樣, 上面demo.tsx的代碼, 跟react官網的es6寫法一模一樣多了<any,any> 這兩個prop和states類型約束, 僅此而已;
12. 下班, 有空再寫;
------時間分割------
13、繼續寫,對1-12進行潤色,轉入傳教模式;
妖獸啦,這里14-15的文字怎麼不不見了,知乎編輯器bug好多。
不記得寫了什麼,大概說的是 工廠方法創建子類和用class直接繼承的差異。
React.createClass 和 Backbone.View.extend 等都是工廠方法創建子類
文字斷了。。。。
以上的代碼,工廠方法在創建子類的同時,做了一些初始化的動作,這與單純的原型繼承不同,所以在使用class方式進行子類繼承,這樣的寫法是無效的;
class MyView extends React.Component {
render() {
return <h1>hello {this.state.name}</h1>; //會拋異常,因為state是null
}
//不起作用的
getInitialState:(){
return {name:'',age:20};
}
}
需要改成如下方式,下面是官網給出的方案(這里TypeScript和ES6情況是一樣的)
class MyView extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
name: '',
};
}
render() {
return <h1>hello {this.state.name}</h1>;
}
}
16、當組件化遇到強類型:
從前寫JS組件,一般復用性比較差,基本寫完就仍,原因如下:
1)暴露了太多的Dom結構以及別的實現細節;
2)命名挫,缺乏可記憶性,本身編程中變數和方法的命名對於碼農來說就是天坑;
3)JS天生缺乏私有和公共成員的約束,不加註釋根本不知道怎麼使用該類庫/組件;
React解決了把dom標簽暴露出去的問題,TS則解決了語言層面的問題,並提供了強大的重構能力,你根本不需要記住組件的API,因為工具會列出來;
17、強類型的ts有IDE的代碼提示,但是面對各種mvvm的字元串模版組裝,卻無用武之地,以下是典型的mvvm數據綁定和有IDE支持的JSX數據組裝在開發體驗上的區別;
模板字元串的綁定里,工具無法檢查出問題,只能在運行時拋出異常,而jsx則可以提示拼寫錯誤。
18、關於生產力再拋一個概念:無障礙編程;
我們平時的開發工作,有不少時間花在查API文檔、調試代碼、查字典(給變數命名),需要不停地切換任務窗口……
上面的例子比較小,實際開發中各種JSON對象可能有10來個屬性,且結構層層嵌套,不一邊查文檔一邊抓包,根本無法完成開發;
如果項目是並行開發的,文檔都還沒定義出來(但是產品原型已經有了,甚至html頁面都已經切好),如何快速完成前端部分的開發工作?
業界常用方法是使用mock數據(先造假數據),下面介紹一種更簡單的辦法(為了舉例先虛擬一個需求場景 —— 一個留言板html的組裝);
別忘了JS變數是可以用中文的,好吧不用查字典了,先把需求完成再說,在組裝html的過程中TS+JSX發揮了巨大的優勢,三下五除二就把組裝界面的代碼寫好了,不用調試我可以確定沒有錯誤的;
過了些天,WebAPI的數據結構定義出來了,可以著手進行代碼重構(或者說把查字典的工作集中完成),利用開發工具的重構功能進行變數改名:
最後項目完成的時候,是把所有類型的定義都挪到獨立的描述文件里(比如叫做webapi.d.ts),原來的interface可以改成type關鍵字(類型別名):
以上,這個開發過程中基本沒有一邊查文檔、一邊查字典,效率的提升是明顯的。

熱點內容
自動鬼使黑腳本 發布:2024-05-05 03:10:49 瀏覽:878
游戲腳本編程書籍推薦 發布:2024-05-05 02:59:13 瀏覽:71
編譯器書籍推薦 發布:2024-05-05 02:57:02 瀏覽:55
電池存儲溫度 發布:2024-05-05 02:53:07 瀏覽:206
安卓在美國怎麼下載 發布:2024-05-05 02:31:06 瀏覽:924
黑莓存儲空間 發布:2024-05-05 02:19:50 瀏覽:274
我的世界礦石島伺服器宣傳片 發布:2024-05-05 02:17:19 瀏覽:613
如何區分安卓原裝充電器 發布:2024-05-05 01:41:23 瀏覽:72
怎麼從蘋果轉移到安卓 發布:2024-05-05 01:41:20 瀏覽:721
支付寶付款碼怎麼設置密碼 發布:2024-05-05 01:27:36 瀏覽:878