2024-05-23最新整理
- 列出所有的字幕
- yt-dlp https://youtu.be/EdsxoHQrhac?si=4MjH5C46PZJIB3k6 --list-subs
- yt-dlp https://youtu.be/JPP5R8kV-wE?si=jt02xp9RS6JcBJhw --list-subs
- yt-dlp https://youtu.be/PE89NysJEUY --list-subs
- 同时下载 zh和en字幕文件(如果有的情况下)
- yt-dlp https://youtu.be/EdsxoHQrhac?si=4MjH5C46PZJIB3k6 --write-subs --sub-langs "zh.,en." --skip-download
- yt-dlp https://youtu.be/JPP5R8kV-wE?si=jt02xp9RS6JcBJhw --write-subs --sub-langs "en.*" --skip-download
yt-dlp 同时下载视频和字幕
//当然没有字幕文件的话 就不下载了
yt-dlp https://twitter.com/i/status/1768693079345594622 --write-subs
yt-dlp 只下载字幕文件
yt-dlp --skip-download --write-sub --sub-lang en https://twitter.com/i/status/1768693079345594622
下载视频所有图片文件
yt-dlp -k --write-all-thumbnails https://youtu.be/tUB_mmBXG9Y?si=w9-t0gFf7nzH8rUS
字幕文件整理为文章
请帮我将word文档中的对话,使用中文转换为文章,不要进行删减信息,不需要总结
所有图片 yt-dlp -k --write-all-thumbnails https://youtu.be/31H-TiiRAd8
1、列出所有的视频信息
yt-dlp -F https://www.youtube.com/watch\?v\=FypmEWNN-XI
2、自动选择最佳视频和音频版本下载并下载所有缩略图,保留原始视频和音频,使用ffmpeg自动合并视频和音频
yt-dlp -k --write-all-thumbnails https://www.youtube.com/watch\?v\=FypmEWNN-XI
3、列出所有字幕信息,包括支持的字幕和 youtube 自动翻译的字幕
yt-dlp --list-subs https://www.youtube.com/watch\?v\=FypmEWNN-XI
4、选择可得到的字幕语言版本下载
yt-dlp -k --write-subs --sub-langs "en" --convert-subs srt https://www.youtube.com/watch\?v\=FypmEWNN-XI
5、选择自动翻译的字幕语言版本下载
yt-dlp -k --write-auto-subs --sub-langs "zh-Hans-en" --convert-subs srt https://www.youtube.com/watch\?v\=FypmEWNN-XIhttps://zhuanlan.zhihu.com/p/618467617https://subtitlestranslator.com/en/
视频中提取图片
ffmpeg -i Inflection AI.webm -vf "fps=1" output_images_%04d.png
ffmpeg -i .webm -vf "fps=1" output_images_%04d.png
// 提取时间段内的图片
ffmpeg -i dIyQl99oxlg.webm -ss 00:00:00 -t 00:01:17 -vf "fps=1" output_image%03d.png
其中 fps=1 每秒钟提取一帧
也可以设置成fps=0.5 则代表两秒提取一帧
还可以举例fps=0.3 则代表大概三秒提取一帧
// 提取图片的时候并进行压缩,-q:v选项来设置JPEG图片的质量,范围是2到31,2表示质量最好(压缩率最低),31表示质量最差(压缩率最高)
// 默认值是23
ffmpeg -i input.mp4 -vf "fps=1" -q:v 10 output_%04d.jpg
ffmpeg -i input.jpg -q:v 2 output.jpg
将图片列表转换为gif
ffmpeg -f image2 -i image%d.jpg output.gif
识别无字幕视频
剪映识别youtobe无字幕文件的视频
字幕文件位置 C:\Users\Administrator\Videos
有些视频也是没办法进行识别的,直接通过OpenAI的whisper
ffmpeg 工具
// 官方文档
https://ffmpeg.org/ffmpeg.html
// 阮一峰博客
https://www.ruanyifeng.com/blog/2020/01/ffmpeg.html
// 调整音视频播放速度
https://blog.csdn.net/yinshipin007/article/details/127377482
// ffmpeg命令集合
https://blog.csdn.net/yu540135101/article/details/103025957
将一系列的图片拼接为视频
// -r 帧率 默认值为25张,一秒钟拼接25张图片
// -i 指定图片 也可以通过路径
ffmpeg -framerate 1 -i %d.png -c:v libx264 -r 24 -pix_fmt yuv420p output.mp4
音视频转码(转换文件类型)
ffmpeg -i input.mp4 output.avi
给视频添加水印
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=W-w-10:H-h-10" output.mp4
视频的裁剪
// 从第十秒开始,截取到第30秒
ffmpeg -i input.mp4 -ss 00:00:10 -t 00:00:30 -c copy output.mp4
//只保留前60秒
ffmpeg -i input.mp4 -t 60 -c copy output.mp4
// 只保留15秒
ffmpeg -i output.flv -t 15 15.flv
调整音频和视频参数
// 调整音频和视频的比特率、帧率、分辨率等参数
ffmpeg -i input.mp4 -b:v 1M -r 30 -s 1280x720 output.mp4
提取音频文件
- wav 格式未压缩,文件体积大,但音质最好
- mp3 压缩率高,音质尚可
- aac 比mp3更先进,相同比特率下音质比mp3更好
// -vn 表示不去掉视频
// -c:a copy表示不改变音频编码,直接拷贝
$ ffmpeg -i sora.webm -vn -c:a copy output1.aac
// -y 会覆盖原有文件的
$ ffmpeg -i sora.webm -vn -acodec aac -y output.aac
调整视频速率
// https://blog.csdn.net/yinshipin007/article/details/127377482
// 调整视频速率的原理为:修改视频的pts,dts
// 调整的范围[0.25,4]
ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv // 0.5 加速为2倍
ffmpeg -i input.mkv -an -filter:v "setpts=2*PTS" output.mkv //2 减速为0.5
// 对视频进行加速时,如果不想丢帧,可以用-r 参数指定输出视频FPS
ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv
调整音频速率
// https://blog.csdn.net/yinshipin007/article/details/127377482
同时调整视频和音频
// 参考链接https://blog.csdn.net/yinshipin007/article/details/127377482
// 同时修改视频和音频
ffmpeg -i FigureAI.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
python
// 查看python版本
python --version
// 安装完可直接使用
pip install auto-py-to-exe
// 将项目中的所有依赖写入到requirements.txt文件中
pip freeze > requirements.txt
// 直接复制到requirements.txt文件中
auto-py-to-exe==2.43.2
// 使用auto-py-to-exe将python文件打包成exe文件,可附加图标,可附加资源文件等
https://juejin.cn/post/7039638572592267300?searchId=2024032513501621C2AEA94371001106ED
关于翻译的实操
- 可参考文章
- 强大的翻译工具 https://memo.ac/AI
- 驱动的视频、播客转文字、字幕工具
- 竟然有一个跟我想法一样的人 https://github.com/melon/qingwu-zimu
- 想到一个问题,打包好以后找个地方可以确定下载的次数,主要是确定一下大概可能有多少人在使用
- 可以考虑给一个角色:比如科技文章翻译GPT
- 宝玉关于翻译提升质量的思考
- https://twitter.com/dotey/status/1770510144276779496
- 视频字幕 时间轴的问题 https://twitter.com/dotey/status/1759641600152436975
- 又看到了一个大拿的产品,而且是有5200star的开源项目
提示词的核心到底是什么
提示词工程,核心并不是你套个什么模版用个什么格式,而是提示词中的逻辑!
逻辑就是你怎么将一个复杂的任务拆成科学合理的步骤,并且让前面每一步的结果都成为后面步骤的基础,所有步骤合并在一起得到最终的结果,而不要指望一步得到结果。只有这样你才能得到最佳的效果。
就像翻译,无论你的 Prompt 格式写的多完美,如果只有一步,那么效果上接近 DeepL 那样就是天花板了,但如何你拆分成直译、反思、意译,那么效果就接近人写的效果了!
就像总结,如果你只是让它总结,那么它可能就会偷懒遗漏很多要点,但如果你让它先提炼主题、再检查有没有遗漏的主题、然后基于每个主题列要点,最后再基于上面的去生成总结,就会好很多,也不会“偷懒”。
哪怕只是写一句“让我们一步步思考”,让它自己去分步骤,列出每一步的结果,都会好很多!
下次写 Prompt,效果不理想时,不妨想想看:我是不是可以把这个任务拆分成几个步骤?怎么拆分最合理?