lsmash muxer是一个非常棒的muxer可以精准的将视频音频以及章节混流为符合ISO Base Media规范的MP4文件。相比MP4BOX(gpac)更加稳定也更加精确。
Contents
简介:
前一阵整理组混流的时候出现过几次MP4BOX混流后缺帧的问题。我在网络上搜索了一下:虽然l-smash有cli的版本放出,却没有人为它制作独立的GUI界面,于是决定为这个l-smash muxer制作一个可以用的GUI界面。
最初的设想是使用python完成,结果发现python的tkinter编程还是有一定的难度,想起组里有好多用C#写界面的dalao,于是决定尝试一下C#。由于以前并没有接触过C#,所以实际编写过程中还有相当多的问题(包括安装VS2017还出了点意外),好在Microsoft的文档相当全面,而且网络上资料来源也比较丰富,于是不到一天时间完成了这个GUI界面的编写,但是代码质量方面可能就相当一般了。
界面设计方面参照了MeGUI中的MP4-Muxer,在界面中加入了Video、Audio、Chapter以及一些相关的常用参数;界面中的文件路径均可以拖拽,并且有限定后缀种类:视频支持264、h264、avc、hevc、265后缀,音频支持m4a、aac、mp3后缀,章节支持txt后缀;界面中尽我所能加入了一些防呆防奔溃的逻辑判断,例如不允许文件夹拖拽,输出时不允许音频视频都为空等。
文件必须与lsmash的lib以及muxer.exe同文件夹。经过测试,中文路径支持正常。
源码开放于Github
https://github.com/amefs/lsmash-muxer-gui
当前版本v1.3c
目前没有实现muxer.exe状态回传,未来可能加入;没有批量(队列)功能,没有添加计划;逻辑性BUG修复,不定时进行。
使用简介:
L-smash muxer GUI Changelog =========================== v1.3b (12.1.2017) -New: 1.增加MP4视频音频Remux 注:RAW视频与MP4格式音频混流将不被允许,如果需要混流请先将RAW视频混流,或者将MP4音频抽流; 2.增加判定条件; -Change: 1.在执行任务时,Start将处于Disable状态. v1.2 (16.12.2016) -New: 1.增加自动识别帧率(使用mediainfo); -帧率支持: 24000/1001 24000/1000 25000/1000 30000/1001 30000/1000 50000/1000 60000/1001 60000/1000 -Change: 1.GUI “X”按钮为清除视频或者音频已经设定的参数; 2.重构全部界面,新界面结构更紧凑; 3.取消通过输入的音频文件生成输出目录; 4.Clear按钮增加清除log; -Fix 1.修复输出文件选择bug; 2.修复由于输出重定向造成的进程阻塞; 3.修复逻辑问题. v1.1 (15.12.2016) -New: 1.增加拖拽视频自动生成相应输出文件名; -Change: 1.合并拖拽代码; 2.修正部分界面; -Fix: 1.修正命令生成的逻辑问题; 2.修正文件扩展名检测. v1.0 (14.12.2016) -Info: 1.GUI可以单独混流仅视频轨或者仅音频轨,但是当两条轨道都位空时则禁止混流(muxer.exe亦不允许此项操作); 2.GUI “…”的按钮为打开文件,前方的textbox也可以接受指定格式文件的拖拽; 3.GUI “X”按钮为清除当前视频/音频轨道的name; 4.FPS下拉菜单留空则l-smash自动分析视频RAW的帧率; 5.language下拉菜单留空则默认jpn(动漫混流常用,因此默认jpn); 6.output必须指定才可以输出,否则自动拒绝; 7.clear按钮可以清除上方所有已填写的选项; 8.点击Start按钮则开始混流; 9.混流文件较大时logs文本框中显示”Processing….”且界面有类似假死状态,均属正常,后台正常工作,可以查看任务管理器确定状态; 10.正常完成任务则会显示”Finished….”,异常时通常会有报错提示(”执行命令失败,请检查输入的命令是否正确!”).
Screenshots: