mengzhidaren / FFmpegCmdSdk

ffmpeg and ffprobe android command line tools
98 stars 22 forks source link

有些手机ts转mp4失败 #9

Open fangxiaole opened 3 years ago

fangxiaole commented 3 years ago

"ffmpeg -i " + tsPath + " -acodec copy -vcodec copy -f mp4 " + mp4Path 调用 FFmpegUtils.getInstance().execffmpeg方法把ts转mp4在有些手机上会返回onFailure失败。 不知道作者是否遇到过并且解决?

mengzhidaren commented 3 years ago

跟手机没关系,别用拼接成一个字符串的命令,输入输出的文件名有空格和特殊字符就会报错,要么运行前检查文件名格式,要么调用数组的命令execffmpeg(String[] cmd)调用

fangxiaole commented 3 years ago

一样的代码,就是有些手机上转失败了。用数组命令也是一样的结果,有些手机可以,有些手机上不行 onFailure 返回的 result等于1 下面是打印的命令 [ffmpeg, -i, /storage/emulated/0/com.jooan.qiaoanzhilian/m3u8/download/video/out.ts, -acodec, copy, -vcodec, copy, -f, mp4, /storage/emulated/0/com.jooan.qiaoanzhilian/account/Record/2a8100c27363af8d45c7aafac8e62e37.mp4]

mengzhidaren commented 3 years ago

如果要转的文件是符合音视频文件标准协议格式的话,相同的视频文件如果在一个手机上转成功那么别的手机上理论上是不会有问题的,可以模拟下出错的环境捕捉日志解决问题