linux下將多個ts檔案合併為乙個MP4檔案

2022-06-13 07:15:10 字數 2098 閱讀 2209

1. 安裝ffmpeg工具

sudo apt  install ffmpeg

2. 確保所有ts檔案無損壞後,確保當前目錄(即存放ts檔案的目錄)無txt檔案及mp4檔案,在存放ts檔案的目錄下建立test資料夾,將所有ts檔案拷貝到test,執行以下指令碼(該指令碼與test資料夾在同一級目錄)

大致目錄結構:

.├── film_00000.ts

├── film_00001.ts

├── ... ...

├── test

│   ├── film_00000.ts

│   ├── film_00001.ts

│   ├── ... ...

└── ts2mp4.py

import os

def get_tslist(_list, outname):

_list.sort(key= lambda x:int(x[5:9]))

out_list = 'concat:'

for n in _list:

out_list = out_list + n + '|'

str1 = 'ffmpeg -i '

str2 = ' -acodec copy -vcodec copy -absf aac_adtstoasc '

end_list = str1 + "\"" +out_list[:-1] + "\"" + str2 + outname

os.system(end_list)

def get_mp4list(dstroot, outname2):

__list = os.listdir(dstroot)

__list.sort()

print(__list)

_list =

for n in __list:

if n[-3:] == '.ts':

_list.sort(key= lambda x:int(x[5:9]))

print(_list)

print(_list)

temp =

cnt = 0

cnt2 = 1

cnt3 = 0

for n in _list:

if n[-3:] == '.ts':

cnt = cnt + 1

cnt3 = cnt3 + 1

if cnt == 10 or cnt3 == len(_list):

outname = str(cnt2) + '.mp4'

get_tslist(temp, outname)

temp =

cnt = 0

cnt2 = cnt2 + 1

end_mp4(outname2)

def end_mp4(outname2):

__list = os.listdir('./')

_list =

for n in __list:

if n[-4:] == '.mp4':

_list.sort()

cnt = 0

for k in _list:

if k[-4:] == '.mp4':

cnt = cnt + 1

for m in range(len(_list)):

n = str(m+1) + '.mp4'

print(n)

str1 = 'file ' + n + '\n'

f = open('1.txt', 'a+')

f.write(str1)

f.close()

if m == cnt:

break

end_str = 'ffmpeg -y -f concat -safe 0 -i ' + '1.txt' + ' -c copy output.mp4'

print(end_str)

os.system(end_str)

if __name__ == "__main__":

dstroot = './test'

outname = 'out.mp4'

get_mp4list(dstroot, outname)

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

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

Java合併檔案下多個檔案

輸入需要拆分的檔案目錄,合併到指定的檔案 例 d abc aa 2.txt spilt d abc aa 2.txt d abc aa 2.txt spilt 2.txt.1 2.txt.2 2.txt.3 2.txt.4 2.txt.5 a.png c.txt abc資料夾 d abc aa 2....

Python將多個excel檔案合併為乙個檔案

利用python,將多個excel檔案合併為乙個檔案 思路 利用python xlrd包讀取excle檔案,然後將檔案內容存入乙個列表中,再利用xlsxwriter將內容寫入到乙個新的excel檔案中。完整 hlakopot coding utf 8 將多個excel檔案合併成乙個 import 程...