無需軟體,使用copy命令合併FLV檔案

2021-06-02 06:44:39 字數 2033 閱讀 2031

等了幾年了都沒等到一款好用的合併器,還是手工來吧。古老的dos命令太強大了,華麗的圖形介面解決不了的,去cmd下試試,或許會有意想不到的收穫。

copy是dos下的複製命令,/b表示是以二進位制複製。

格式:

copy /b 1.flv+2.flv+3.flv new.flv

or copy 1.flv/b+2.flv/b+3.flv/b new.flv

示例1:

e:\>copy /b 法拉利的精神領袖車168試駕法拉利458italia1.mp4+法拉利的精神領袖車168 試駕法拉利458italia2.mp4 new.mp4

法拉利的精神領袖車168試駕法拉利458italia1.mp4

法拉利的精神領袖車168試駕法拉利458italia2.mp4

已複製         1 個檔案。

示例2:

e:\>copy /b 不倒?!四川1.flv+不倒?!四川2.flv+不倒?!四川3.flv+不倒?!四川4.flv+不倒?!四川5.flv test.flv

這個出來的結果不太令人滿意,後面的部分很多是花屏,不知道是因為太大了(五個flv共231m)還是因為編碼的問題。

附相關技術文件:

flv header

一般比較簡單,包括檔案型別之類的全域性資訊

檔案型別 3bytes 總是flv(0x46 0x4c 0x56),否則...

版本 1byte 一般是0x01,表示flv version 1

header長度 4bytes 整個檔案頭的長度,一般是9(3+1+1+4),有時候後面還有些別的資訊,就不是9了

flv body

flv body就是由很多tag組成的,乙個tag包括下列資訊:

previoustagsize 4bytes 前乙個tag的長度,第乙個tag就是0

tag型別 1byte

三類:* 8 -- 音訊tag

* 18 -- 指令碼tag

資料區長度 3bytes 時間戳 3bytes 單位毫秒,如果是指令碼tag就是0

擴充套件時間戳 1byte 作為時間戳的高位

streamsid 3bytes 總是0(不知道幹啥用)

資料區根據不同的tag型別就有不同的資料區

audio tag 資料區

audio資訊 1byte  

flv前四位bits表示音訊格式:

* 0 -- 未壓縮

* 1 -- adpcm

* 2 -- ***

* 5 -- nellymoser 8khz momo

* 6 -- nellymoser

下面兩位bits表示samplerate:

* 0 -- 5.5khz

* 1 -- 11khz

* 2 -- 22khz

* 3 -- 44khz

下面一位bit表示每個取樣的長度:

* 0 -- snd8bit

* 1 -- snd16bit

下面一位bit表示型別:

* 0 -- sndmomo

* 1 -- sndstereo

audio資料區

不定video tag 資料區

video資訊 1byte

前四位bits表示型別:

* 1 -- keyframe

* 2 -- inner frame

* 3 -- disposable inner frame (h.263 only)

後四位bits表示編碼器id:

* 2 -- seronson h.263

* 3 -- screen video

* 4 -- on2 vp6

* 5 -- on2 vp6 without channel

* 6 -- screen video version 2

video資料區

不定script tag 資料區

略n字...

無需軟體合併多個TS流檔案

可以使用以下dos命令達到目的 即 開始 選單,執行 輸入 cmd 再按回車 此處假設你要合併的高畫質 檔案位於 e temps 這個位置 copy be temps ts e temps new.ts 如上,執行該命令後,e temps目錄下的全部ts檔案就被合併成乙個new.ts檔案了 你原來的...

DOS命令實踐 copy合併分卷壓縮檔案

三體書友群的小雪同學 天琊如雪 想要合併兩個分卷壓縮檔案 7z 格式的,他問我 copy 命令能否奏效,於是檢視了 copy 的用法,發現 copy 的確可以合併分卷壓縮檔案,於是就做了乙個實驗。進入檔案所在位置並合併 合併為 text.7z 如圖 結果圖 很明顯我們成功了,總結一下 copy 的用...

使用COPY命令在Vertica中載入資料

使用copy語句批量載入 copy語句是將大量資料載入到vertica資料庫中的最有效方式。您可以使用copy命令將乙個或多個檔案複製到群集主機上。對於批量載入,最有用的copy命令是 copy local 將資料檔案或所有指定的檔案從本地客戶端系統載入到伺服器處理檔案的vertica主機。在ver...