MP4 转 TXT 项目与 M3U8 下载脚本

项目背景

在当今信息社会,视频学习已成为一种重要的知识获取方式。然而,许多用户在观看视频的过程中,效率往往低于预期。为了提升学习效率,我们决定开发一个将 MP4 视频转换为 TXT 文稿的项目。此外,很多视频在微信网页上播放,无法直接下载,主要采用 M3U8 格式进行流式传输。这促使我们寻找解决方案。

项目目的

  • 提升学习效率:通过将视频转换为文本,用户可以直接获取文稿内容,提高学习效率。
  • 实现资源下载:针对 M3U8 格式的微信视频,通过特定的脚本实现下载功能。

解决方案

  • 针对问题一:MP4 转 TXT 的项目
    我们在 GitHub 上新建了一个项目,名为 mp4-to-txt-using-ffmpeg-wenet。该项目旨在提供一种高效的方式,将 MP4 视频内容提取为 TXT 文稿。项目中包括详细的 README 文档,帮助用户顺利使用工具。

    2024.10.28 更新:此项目使用pipeline方案的 funasr 替换了单个 wenet 模型,识别准确率更高。

  • 针对问题二:下载 M3U8 视频

为了解决微信网页中 M3U8 视频无法直接下载的问题,我们编写了一段 shell 脚本。该脚本使用 FFmpeg 工具能够下载 M3U8 视频流。以下是脚本的代码:

#!/bin/bash  
urls=(
    "https://xxx"    # 在此处替换为视频的真实 URL
    "https://xxx"    # 可以添加更多视频链接
)
for ((i=0; i<${#urls[@]}; i++)); do
    # 计算文件名,从0开始编号  
    file_num=$((i))
    file_name="${file_num}.mp4" 

    # 使用ffmpeg下载并转换(注意:这里假设ffmpeg可以直接处理.m3u8)  
    # 如果.m3u8是一个HLS播放列表,你可能需要额外的步骤来合并片段  
    ffmpeg -i "${urls[$i]}" -c copy "${file_name}" 

    # 输出文件已下载的信息  
    echo "已下载: ${file_name}" 

done

使用说明

替换 URL:在脚本中的 urls 数组中,将 "https://xxx" 替换为实际的 M3U8 视频链接。若有多个视频,可以继续按此格式追加链接。
查找 M3U8 URL:
    将微信视频网页复制到 Chrome 浏览器中。
    按 F12 打开开发者工具,切换至“网络”选项卡。
    按 F5 刷新页面,然后在过滤栏中输入 m3u8 以检索相关报文。
    找到对应的 M3U8 报文,在其头部中查看 GET 请求的 URL。
运行脚本:确保 FFmpeg 已安装,然后在终端中运行该脚本,等待下载完成。

总结

此方案有效解决了视频学习效率低下的问题,以及无法直接下载微信网页中的 M3U8 视频的问题。希望该项目能够帮助更多学习者轻松获取所需信息,有效提升学习效率。如有疑问,请参考 GitHub 项目中的详细文档或评论联系。

posted @ 2024-10-16 19:12  生产队的扛把子  阅读(105)  评论(0编辑  收藏  举报