Skip to content

2024-05-23最新整理

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文档中的对话,使用中文转换为文章,不要进行删减信息,不需要总结

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

关于翻译的实操

提示词的核心到底是什么

提示词工程,核心并不是你套个什么模版用个什么格式,而是提示词中的逻辑!

逻辑就是你怎么将一个复杂的任务拆成科学合理的步骤,并且让前面每一步的结果都成为后面步骤的基础,所有步骤合并在一起得到最终的结果,而不要指望一步得到结果。只有这样你才能得到最佳的效果。

就像翻译,无论你的 Prompt 格式写的多完美,如果只有一步,那么效果上接近 DeepL 那样就是天花板了,但如何你拆分成直译、反思、意译,那么效果就接近人写的效果了!

就像总结,如果你只是让它总结,那么它可能就会偷懒遗漏很多要点,但如果你让它先提炼主题、再检查有没有遗漏的主题、然后基于每个主题列要点,最后再基于上面的去生成总结,就会好很多,也不会“偷懒”。

哪怕只是写一句“让我们一步步思考”,让它自己去分步骤,列出每一步的结果,都会好很多!

下次写 Prompt,效果不理想时,不妨想想看:我是不是可以把这个任务拆分成几个步骤?怎么拆分最合理?