本站的一些网课学习过程
# 本站的一些网课学习过程
以计算机网络微课堂为例,说下我的的学习过程吧!
- 一些好的、值得反复观看的视频,我会先下载下来到本地;因为本地看的话不会有网络延迟,可以迅速切换到某一集
- 记笔记。我认为反复观看视频的话,效率有点低,因此,我会先用ffmpeg将视频转成语音,然后用语音转文字软件,转成文本
- 转换过程中难免有一些儿错误,因此写了个Java程序,将所有常见的转换错误的单词,转成正确的;
- 在观看视频和复习的过程中,如果发现有错误的文字,或者老师讲错了,我会记录到笔记里,或提醒老师
这里列一下我用到的工具和代码吧!
首先将所有视频转成音频,先用Java程序获取某个目录下的所有视频路径,然后拼接成ffmpeg字符串,最后转成Windows下的 .bat文件,双击即可执行全部命令
首先,用ffmpeg转视频为音频的格式为:FFmpeg -i 0.blv -f mp3 1.mp3
用Java程序,自动拼接ffmpeg - i 视频文件的路径、为如上格式,代码如下:
package com.peterjxl.cmd;
import java.io.File;
public class Testcmd {
public static void main(String[] args) {
try {
String ffmpegCmd = "ffmpeg -i ";
String ffmpegCmd2 = " -f mp3 ";
String[] fileList= new File("G:\\编程视频\\操作系统(哈工大)").list();
for(String file: fileList){
if(file.endsWith("mp4")){
file = "\"" + file + "\"";
String finalCmd = ffmpegCmd + file + ffmpegCmd2 + file.replace("mp4", "mp3");
System.out.println(finalCmd);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
输出的内容如下:
ffmpeg -i "进程通信.mp4" -f mp3 "进程通信.mp3"
ffmpeg -i "进程通信2.mp4" -f mp3 "进程通信2.mp3"
.........
1
2
3
2
3
然后新建一个文本文件,将Java程序输出的ffmpeg指令复制进去,然后修改后缀名为.bat;注意修改文件格式为GBK,因为cmd默认是GBK格式。双击bat即可执行里面所有的命令。
音频转文字:我这里用的是讯飞语记客户端,我是充了会员的,一年300块左右,里面有语音转文字的功能。 可惜的是没有提供相关的接口,只能在软件里上传音频去转换,我是逐个拖拽后转换的。
转换的文字难免有错误的转换,例如应该是源语言
,但是语音转换的结果为原语言
,因此写了个批量替换文本的小程序:
package com.peterjxl.cmd;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Testcmd4 {
public static void main(String[] args) {
try {
int count = 0;
File file= new File("D:\\DownLoad\\temp.txt");
Scanner input = new Scanner(file);
String s1 = null;
HashMap<String, String > mySet = new HashMap<>();
mySet.put("原语言", "源语言");
mySet.put("原程序", "源程序");
mySet.put("变异器", "源程序");
while (input.hasNext()){
s1 = input.nextLine();
for(Map.Entry<String, String> entry: mySet.entrySet()){
if(s1.contains(entry.getKey())){
System.out.println(entry.getKey());
s1 = s1.replace(entry.getKey(), entry.getValue());
}
}
}
System.out.println(s1);
} catch (Exception e) {
e.printStackTrace();
} finally {
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
然后就可以边看老师视频,边截图做笔记了,反反复复看了几次
上次更新: 2024/1/6 20:56:23