工具-blibli视频下载查看工具


问题:

b站视频下载之后,其他视频播放器打不开。

解决方法:

以16进制格式的文件编辑器打开,删掉前面的6个F。

困难:

1、notepad++、vscode的hexeditor无法直接修改。
2、winhex收费。
3、网页版hex编辑器对文件大小有要求。

结论:手写脚本。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class formatFiles {
     public static void recurseFile(File file) throws Exception{
        if(file.isFile()&&file.toString().endsWith("mp4")){
            //todo: 处理视频文件,修改字符。
            FileInputStream in = new FileInputStream(file);
            System.out.println(file.getName()); 
            String[] filePart = file.getName().split("\\.");
            File target = new File(file.getParent().toString(),filePart[0]+"_copy."+filePart[1]);
            FileOutputStream out = new FileOutputStream(target);
            byte[] fileData = new byte [61858764];
            int lineLength = in.read(fileData);
            out.write(fileData,3,fileData.length-3);
            in.read(fileData);
            while (lineLength !=-1){
                out.write(fileData);
                lineLength =  in.read(fileData);
            }
            in.close();
            out.close();
         }else if(file.isDirectory()){
            File[] listFile = file.listFiles();
            for(int i= 0;i

思考:

1、希望可以更快速的处理文件辅助,我觉得有两种方式:第一种把文件夹下面的文件放到一个队列中供多线程读写。第二种针对大文件分割,然后分到每个线程里面进行copy。
2、希望可以工具化。指定修改某一处或者多处字符。
3、这里用的是投机取巧的方式。FF在byte类型数组里值是-1,而且位置也比较靠前。直接改就完了,如果作者把每个视频帧前面放一段字符,或者更复杂。那么我是无法确定对着改的。本着能用的原则。暂时就这样了。