Coder Social home page Coder Social logo

m3u8download's Introduction

ffmpeg

  • 使用 ffmpeg 命令来下载和转换 m3u8 格式视频
ffmpeg -acodec copy -vcodec copy -threads 32 "/sdcard/Download/`date +%Y-%m-%d_%H-%M-%S`_m3u8.mp4" -i "https://www.hfyrw.com/Cache/68f72049e32321f85ce506431caddfe6.m3u8"
  • -i 参数指定了输入文件的位置,在这里是一个网络地址。
  • -acodec copy 和 -vcodec copy 参数分别指定音频和视频的编码格式,这里都是 copy,意味着不进行编码转换,而是直接拷贝原始编码。
  • -threads 参数指定线程数。如果不指定线程数,ffmpeg 默认会使用单线程。注意,多线程下载可能会增加带宽占用和服务器负载,请注意使用线程数的限制。
  • 上面的命令使用了 /path/to/save/ 来指定下载路径,并将文件保存在该路径下。请确保该路径存在且有写入权限。
  • 上面的命令使用了 date +%Y-%m-%d_%H-%M-%S 来获取当前日期和时间,并将其作为文件名的一部分。这里的 %Y表示年份,%m表示月份,%d表示日期,%H表示小时,%M表示分钟,%S表示秒。
  • 请注意,这只是在linux系统下的写法,对于其他系统的命令可能会有不同。

软连接

ln -s /sdcard/Download Download
ln -s /sdcard storage

脚本

  • 下面是一个示例脚本,它接受一个参数,即输入文件的网络地址,并使用该地址下载文件。
  • 使用了basename命令来获取输入文件的网络地址中的文件名,并将其用作输出文件的名称。
  • 使用判断语句if [ -z "$extension" ]; then来检查变量extension是否为空。
input_url=$1
output_path="/sdcard/Download/"
current_date_time=$(date +"%Y-%m-%d_%H:%M:%S")

file_name=$(basename "$input_url")
extension="${input_url##*.}"
if [ -z "$extension" ]; then
    file_name="$file_name"
fi
    file_name="$file_name.$extension"

output_file_name="${current_date_time}_${file_name%.*}.mp4"

ffmpeg -i "$input_url" -acodec copy -vcodec copy -threads 32 "$output_path$output_file_name"
touch script.sh
echo '#!/bin/bash

input_url=$1
output_path="/sdcard/Download/"

ffmpeg -i "$input_url" -acodec copy -vcodec copy -threads 4 "$output_path`date +%Y-%m-%d_%H-%M-%S`_m3u8.mp4"' >> script.sh
  • 使用这个脚本时,可以将网络地址作为第一个参数传入,如下所示:
./script.sh "https://www.hfyrw.com/Cache/68f72049e32321f85ce506431caddfe6.m3u8"
sh script.sh https://www.hfyrw.com/Cache/68f72049e32321f85ce506431caddfe6.m3u8
  • 请注意,需要给这个脚本加上可执行权限(例如 chmod +x script.sh)

哔哩哔哩安卓端下载视频合并成MP4

ffmpeg -i video.m4s -i audio.m4s -codec copy bili.mp4

start

  • 由于Python以及ffmpeg的强大,此脚本可以跨平台Windows、Mac OS、Linux、Android等
  • 依赖 ffmpeg Python3.6+ requests库
  • 在termux下安装三个依赖
pkg install ffmpeg
pkg install python
pip install requests

HELLO

我想要🌟🌟,你可以给我点亮它吗

用处

  1. 支持m3u8类型流媒体,能播放就能下载
  2. 多线程下载
  3. 批量任务、一次性下载一部电视剧都没问题
  4. 它不是万能的,有些m3u8文件乱得离谱,没有规律,我只能见一个改一下,也许你可以反馈一下

依赖

  1. python3.6+ img
  2. requests库,使用pip install requests安装img
  3. ffmpegimg 对于Windows用户,需要将ffmpeg添加进环境变量中,直到你可以在CMD中使用ffmpeg命令
    termux: pkg install ffmpeg
    centos: yum install ffmpeg
    mac os: brew install ffmpeg

使用

  1. 命令行敲入python M3u8Download.py
  2. 输入 url name 即可使用
    完整的m3u8文件链接: url
    保存m3u8的文件名: name

演示

img img

参数说明

img

m3u8download's People

Contributors

anwenzen avatar qingdog avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.