flv格式推流文件异常修复

flv格式的推流文件,下载后异常,尝试修复

情形

来自b站直播推流,使用you-get的live模式直接下载

you-get -O date +%Y%m%d_%T -o liverecorder --format live https://live.bilibili.com/ID

如果双方情况网络都正常,文件下载下来是只会出现进度条异常,在linux使用yamdi进行修复即可,修复完成之后文件大小不会出现很大的变化

错误情况和处理

在yamdi修复时,有可能出现将3000M的文件修复到30M的情况,即丢失了部分,这里一般是一者网络异常或者up推流错误导致的,在you-get设置的timeout时间内重连,写到了同一个文件里

在尝试了Linux各种方案无果后,使用Win下的flvmdi进行进度条修复,提示下面两种错误

Tag data truncated. End of data encountered.

Tag parsing error

修复后的flv仍然是不正常的,但是可以使用ffmpeg强制转换为mp4,

ffmpeg -i input.flv -c copy -f mp4 output.mp4

结论

当flv文件只存在一个错误点的时候,上述方案应当有效,没有测试多个错误的情况

转为mp4后需要自行比对时间,确认是否还有帧丢失

有人说mp4会出现音画不同步

更早的文章

前后端分离下的前端安全

学React的时候,想到的一个前后端分离增加的隐患,好几年了,共勉,在内网有奇效 …

于  web_security 继续阅读