GithubHelp home page GithubHelp logo

lecepin / tss-merge-to-mkv Goto Github PK

View Code? Open in Web Editor NEW
200.0 5.0 37.0 39.39 MB

ts文件合并工具,同时支持其他视频格式转换为mkv/ts/mp4

JavaScript 96.46% HTML 2.23% Less 1.22% Procfile 0.09%
electron ffmpeg mp4-converter ts m3u8

tss-merge-to-mkv's Introduction

TS 视频合并工具

在线免安装版本:https://github.com/lecepin/web-tss-merge2mkv

当下载 m3u8 资源时,通常产生的是多个 ts 视频文件,所以需要借助某些工具来将这些 ts 视频片段整合为一个视频文件。

本软件主要解决的就是这个问题,底层基于ffmpeg,可正常运行在 Windows 和 Mac 平台。不仅可以合并 ts 为单个通用的视频文件,还支持视频格式转换。

下载

目前支持 win-x64 & mac-x64:地址

ts文件合并工具,同时支持其他视频格式转换原理mkv/ts/mp4

软件界面

主界面:

转换成功:

支持拖动添加文件:

支持的合并的格式:

其他

国内环境构建,可以配置如下环境变量:

echo ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/\\nELECTRON_BUILDER_BINARIES_MIRROR=https://npm.taobao.org/mirrors/electron-builder-binaries/ >> ~/.npmrc

OR:

npm config set ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
npm config set ELECTRON_BUILDER_BINARIES_MIRROR=https://npm.taobao.org/mirrors/electron-builder-binaries/

⚠ 文件数量过多的解决方法

如果合并的文件数量过多,成千上万上,会导致软件内的命令无法正常执行,可以使用以下脚本在终端中执行。

ls -l | sort -V -k 9,9 | awk '/^-/{print "file \"" $9 "\""}' | sed "s/\"/'/g" | grep -v "file_list.txt"  > file_list.txt

ffmpeg -f concat -i file_list.txt -c copy output.mp4

tss-merge-to-mkv's People

Contributors

lecepin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tss-merge-to-mkv's Issues

用终端命令提示 Impossible to open

image

ffmpeg version 3.4.11-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'concat'.
Reading option '-i' ... matched as input url with argument 'file_list.txt'.
Reading option '-c' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option 'output.mp4' ... matched as output url.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url file_list.txt.
Applying option f (force format) with argument concat.
Successfully parsed a group of options.
Opening an input file: file_list.txt.
[concat @ 0x55d076cde8c0] Opening 'file_list.txt' for reading
[file @ 0x55d076cdf280] Setting default whitelist 'file,crypto'
[NULL @ 0x55d076d1cca0] Opening '1.ts' for reading
[AVIOContext @ 0x55d076d25300] Statistics: 385408 bytes read, 0 seeks
[concat @ 0x55d076cde8c0] Impossible to open '1.ts'
[AVIOContext @ 0x55d076ce7620] Statistics: 17283 bytes read, 0 seeks
file_list.txt: Invalid data found when processing input

视频合并

加载完一个视频后,不会继续合并下一个视频

挺好用,发现在批量合并转MP4时报如下错误

控制台信息:
ffmpeg version N-81489-ga37e6dd Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
libavutil 55. 29.100 / 55. 29.100
libavcodec 57. 54.101 / 57. 54.101
libavformat 57. 48.101 / 57. 48.101
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 57.100 / 6. 57.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100

Input #0, mpegts, from 'concat:E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(0)课程学习顺序.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(00)虚拟项目介绍.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(1)12期代理合伙人介绍.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(2)代理常见问题解答.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(3)3种课程类型解析.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(4)如何搜索课程位置.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(5)搜不到课程怎么办.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(6)公众号-基本介绍.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(7)公众号-引流图设计.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(8)公众号-发什么课.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(9)公众号-发帖实操.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(10)网站-服务器域名购买.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(11)网站-网站程序安装.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(12)网站-主题安装.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(13)网站-外观设置.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(14)网站-文章撰写及分类.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(15)私域-微信资料设置.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(16)私域-朋友圈怎么发.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(17)闲鱼-项目介绍及养号.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(18)闲鱼-虚拟选品及货源.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(19)闲鱼-主图设计.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(20)闲鱼-上架宝贝流程全解.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(21)闲鱼-发货及转到私域.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(22)贴吧-引流全流程详解.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(23)贴吧-发帖实操及引流图设计.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(24)拼多多-免4W押金开店方法.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(25)拼多多-销售核销全流程.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(26)拼多多-月入5万选品及发布方法.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(27)拼多多-彩蛋之用大麦辅助引流.ts|E:\BaiduNetdiskDownload\熙萌代理培训12期【完整30节课】22.8.28\(28)私域-新加客户如何转化.ts':
Duration: 00:05:35.13, start: 1.673544, bitrate: 11552 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 960x540, 25 fps, 25 tbr, 90k tbn, 50 tbc

Stream #0:1[0x101](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 147 kb/s

[mp4 @ 05760060] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.

Last message repeated 1 times

Output #0, mp4, to 'F:\桌面\合并影片.mp4':
Metadata:
encoder : Lavf57.48.101
Stream #0:0: Video: h264 (High) ([33][0][0][0] / 0x0021), yuv420p, 960x540, q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc
Stream #0:1(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 147 kb/s

Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help

[mp4 @ 05760060] Malformed AAC bitstream detected: use the audio bitstream filter 'aac_adtstoasc' to fix it ('-bsf:a aac_adtstoasc' option with ffmpeg)

av_interleaved_write_frame(): Operation not permitted

frame= 9 fps=0.0 q=-1.0 Lsize= 45kB time=00:00:00.04 bitrate=7934.6kbits/s speed=0.0715x
video:44kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.063806%

Conversion failed!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.