tank8888jx
帖子: 21
注册时间: 2011-07-07 15:58

Re: 带有章节的MKV重新封装成MP4 影音不同步

而且经常有奇怪的问题 比如程序不响应 各种错误
头像
upyzl
帖子: 446
注册时间: 2010-12-25 18:44
来自: 湘/京
联系: 网站

Re: 带有章节的MKV重新封装成MP4 影音不同步

mediacoder用的ffmpeg太烂了,都不知道是怎么编译的,也不清楚GUI是怎么调用的命令

只是重封装,ffmpeg建议用这个
http://www.mediafire.com/?0yli0an52l7yr55
(MF上不去的话: http://u.115.com/file/bhbgml21 只要ffmpeg即可)

命令行其实真的很方便的,给你个例子:

代码: 全选

@ECHO OFF & CD/D "%~dp0"

:ReMux1
IF "%~1"=="" GOTO :EOF

IF /I "%~x1"==".mkv" (Set Ext=.mp4) ELSE (Set Ext=.mkv)
ffmpeg -y -i "%~1" -vcodec copy -acodec copy "%~dpn1%Ext%"

IF "%ERRORLEVEL%" == "0" DEL "%~1"

SHIFT /1
GOTO :ReMux1
说明:把待重封装的视频拖进这个bat里(支持批量拖拽),原本是mkv的文件一律重封装成mp4,其余类型的文件一律重封装成mkv,不算后缀名的话,文件名是不变的,生成的视频与之前的视频同路径;成功封装后自动删除原文件(不需要的话,删掉DEL那一行即可)
bat所在路径最好有空格,这样即便文件名有&这样的特殊字符也能识别

不过我这chapter会乱码,mp4 chapter对字符编码是怎么支持的我就不清楚了(封回mkv又正常,毫无疑问就是字符编码问题)
我用官方ffmpeg封发现直接丢失chapter了 {:cat_12}
头像
-o-o-304-o-o-
超级版主
帖子: 640
注册时间: 2010-10-10 20:00
来自: US
联系: 网站

Re: 带有章节的MKV重新封装成MP4 影音不同步

upyzl 写了:mediacoder用的ffmpeg太烂了,都不知道是怎么编译的,也不清楚GUI是怎么调用的命令

只是重封装,ffmpeg建议用这个
http://www.mediafire.com/?0yli0an52l7yr55
(MF上不去的话: http://u.115.com/file/bhbgml21 只要ffmpeg即可)

命令行其实真的很方便的,给你个例子:

代码: 全选

@ECHO OFF & CD/D "%~dp0"

:ReMux1
IF "%~1"=="" GOTO :EOF

IF /I "%~x1"==".mkv" (Set Ext=.mp4) ELSE (Set Ext=.mkv)
ffmpeg -y -i "%~1" -vcodec copy -acodec copy "%~dpn1%Ext%"

IF "%ERRORLEVEL%" == "0" DEL "%~1"

SHIFT /1
GOTO :ReMux1
说明:把待重封装的视频拖进这个bat里(支持批量拖拽),原本是mkv的文件一律重封装成mp4,其余类型的文件一律重封装成mkv,不算后缀名的话,文件名是不变的,生成的视频与之前的视频同路径;成功封装后自动删除原文件(不需要的话,删掉DEL那一行即可)
bat所在路径最好有空格,这样即便文件名有&这样的特殊字符也能识别

不过我这chapter会乱码,mp4 chapter对字符编码是怎么支持的我就不清楚了(封回mkv又正常,毫无疑问就是字符编码问题)
我用官方ffmpeg封发现直接丢失chapter了 {:cat_12}
字符没办法,mp4的chapter貌似不认UTF-8,直接封ANSI进去的话各种兼容问题(中文win系统下日文乱码,繁体中文乱码,所以说只能选择写个英文chapter了..死)
► 显示剧情透露 En Taro 06!Taro Pie NC Fanclub project始动!聊天用Q群开放中
► 显示剧情透露 胸中有万言,退敌无一策,是谓书生误国"
► 显示剧情透露 前辈们的信念
► 显示剧情透露 妇联招新广告,走过路过可以看看撒
► 显示剧情透露 香芋派,后期菊苣们的一致选择
► 显示剧情透露 众菊苣喜评香芋派
► 显示剧情透露 聊天用工具
tank8888jx
帖子: 21
注册时间: 2011-07-07 15:58

Re: 带有章节的MKV重新封装成MP4 影音不同步

mediacoder的remux应该走的是ffmpeg吧(之前菊苣们提过貌似),应该没啥问题吧(没用过我猜的[/quote]
试了好几次 都是停在了100% 等了1个多小时也是100%就关掉了
tank8888jx
帖子: 21
注册时间: 2011-07-07 15:58

Re: 带有章节的MKV重新封装成MP4 影音不同步

感谢 upyzl 和 -o-o-304-o-o- 的帮助 MP4对chapter支持不是很好 我放在iPhone上看视频chapter功能基本无用
还有就是好像影音不同步的问题不是因为加入了chapter 的原因.
原因是像前面有个XD说的 澄空那动漫是切过VFR .整部视频不是使用的相同的fps 导致mp4box封装的时候使用统一的fps值会产生影音不同步的现象.
这个问题涉及到MKV的timecode问题 如果不使用ffmpeg重新封装的话 需要将MKV的timecode提取出来,再导入的MP4中去 好像有个工具叫 tc2mp4
tank8888jx
帖子: 21
注册时间: 2011-07-07 15:58

Re: 带有章节的MKV重新封装成MP4 影音不同步

upyzl 写了:mediacoder用的ffmpeg太烂了,都不知道是怎么编译的,也不清楚GUI是怎么调用的命令

只是重封装,ffmpeg建议用这个
http://www.mediafire.com/?0yli0an52l7yr55
(MF上不去的话: http://u.115.com/file/bhbgml21 只要ffmpeg即可)

命令行其实真的很方便的,给你个例子:

代码: 全选

@ECHO OFF & CD/D "%~dp0"

:ReMux1
IF "%~1"=="" GOTO :EOF

IF /I "%~x1"==".mkv" (Set Ext=.mp4) ELSE (Set Ext=.mkv)
ffmpeg -y -i "%~1" -vcodec copy -acodec copy "%~dpn1%Ext%"

IF "%ERRORLEVEL%" == "0" DEL "%~1"

SHIFT /1
GOTO :ReMux1
说明:把待重封装的视频拖进这个bat里(支持批量拖拽),原本是mkv的文件一律重封装成mp4,其余类型的文件一律重封装成mkv,不算后缀名的话,文件名是不变的,生成的视频与之前的视频同路径;成功封装后自动删除原文件(不需要的话,删掉DEL那一行即可)
bat所在路径最好有空格,这样即便文件名有&这样的特殊字符也能识别

不过我这chapter会乱码,mp4 chapter对字符编码是怎么支持的我就不清楚了(封回mkv又正常,毫无疑问就是字符编码问题)
我用官方ffmpeg封发现直接丢失chapter了 {:cat_12}
朋友 我不太懂bat的用法 我把你发的代码复制到一个新建的文本文件里 然后保存 改后缀名为bat . 把它放入了带有ffmpeg.exe的文件夹中 运行之 闪一下没了 是怎么回事?
264768502
核心会员
核心会员
帖子: 402
注册时间: 2010-09-23 17:38

Re: VFR的MKV重新封装成MP4 影音不同步

把你要重新封装的文件拖放至此bat
tank8888jx
帖子: 21
注册时间: 2011-07-07 15:58

Re: VFR的MKV重新封装成MP4 影音不同步

264768502 写了:把你要重新封装的文件拖放至此bat
拖放上去也闪一下没了
cunhan
核心会员
核心会员
帖子: 214
注册时间: 2010-09-20 22:09

Re: 带有章节的MKV重新封装成MP4 影音不同步

-o-o-304-o-o- 写了: 字符没办法,mp4的chapter貌似不认UTF-8,直接封ANSI进去的话各种兼容问题(中文win系统下日文乱码,繁体中文乱码,所以说只能选择写个英文chapter了..死)
记得上次蛇说过,mp4封utf8 chapter在苹果系列上各种淡定,由此推断windows下各种乱码可能是分离器的问题。
头像
upyzl
帖子: 446
注册时间: 2010-12-25 18:44
来自: 湘/京
联系: 网站

Re: VFR的MKV重新封装成MP4 影音不同步

tank8888jx 写了:拖放上去也闪一下没了
那改成这样

代码: 全选

@ECHO OFF & CD/D "%~dp0"

:ReMux1
IF "%~1"=="" GOTO :End_

IF /I "%~x1"==".mkv" (Set Ext=.mp4) ELSE (Set Ext=.mkv)
ffmpeg -y -i "%~1" -vcodec copy -acodec copy "%~dpn1%Ext%"

SHIFT /1
GOTO :ReMux1

:End_
pause
把错误信息贴出来

回到 “封装容器 / Container muxer and demuxer”