admin avatar

使用ffmpeg下载X站或P站的视频的方法

🕛 by admin





FFmpeg 是一个开放源代码的自由软件,可以执行音频和视频多种格式的录影、转换、串流功能[6],包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。

首先了解一下FFmpeg基本使用语法参数

主要参数[编辑]

  • -i——设置输入文件名。
  • -f——设置输出格式。
  • -y——若输出文件已存在时则覆盖文件。
  • -fs——超过指定的文件大小时则结束转换。
  • -t——指定输出文件的持续时间,以秒为单位。
  • -ss——从指定时间开始转换,以秒为单位。
  • -ss-t一起使用时代表从-ss的时间开始转换持续时间为-t的视频,例如:-ss 00:00:01.00 -t 00:00:10.00即从00:00:01.00开始转换到00:00:11.00
  • -title——设置标题。
  • -timestamp——设置时间戳。
  • -vsync——增减Frame使影音同步。
  • -c——指定输出文件的编码。
  • -metadata——更改输出文件的元数据
  • -help——查看帮助信息。

影像参数[编辑]

  • -b:v——设置影像流量,默认为200Kbit/秒。(单位请引用下方注意事项
  • -r——设置帧率值,默认为25。
  • -s——设置画面的宽与高。
  • -aspect——设置画面的比例。
  • -vn——不处理影像,于仅针对声音做处理时使用。
  • -vcodec( -c:v )——设置影像编解码器,未设置时则使用与输入文件相同之编解码器。

声音参数[编辑]

  • -b:a——设置每Channel(最近的SVN版为所有Channel的总合)的流量。(单位请引用下方注意事项
  • -ar——设置采样率。
  • -ac——设置声音的Channel数。
  • -acodec ( -c:a ) ——设置声音编解码器,未设置时与影像相同,使用与输入文件相同之编解码器。
  • -an——不处理声音,于仅针对影像做处理时使用。
  • -vol——设置音量大小,256为标准音量。(要设置成两倍音量时则输入512,依此类推。)

摘自wiki百科。

使用ffmpeg下载X站或P站的视频的方法如下。这里就以X站为例演示下载X站的视频。

X站和 P站实现下载方法其实都是一样的,

找到一个X站你喜欢的视频链接。。。按F12打开浏览器的开发者工具,找到m3u8视频链接

iShot_2022-05-28_10.51.34.png

ffmpeg -i https://cdn.xxxx.xxx/filelnllssddssdsd/hls.m3u8 -c copy videosname.mp4

下载视频,结果不行,报错403,加上user-gen试一下

1
ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" -i  https://cdn.xxxx.xxx/filelnllssddssdsd/hls.m3u8 -c copy videosname.mp4

还是不行,设置来路看看,看下图,即表示,来路链接,先找到来路链接

iShot_2022-05-28_11.19.15.png

加上来路链接再试试看,

1
ffmpeg -headers "referer: http://demo.domain"  "https://www.xxxxxxxxx.com/videod/_444dddd" -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" -i  https://sdfdsdf4xvxcxvcvcxvvcvcxvcx.m3u8 -c copy xxxxxxx.mp4

如果没有红色的报错信息,那么稍等一下一部影片就下载好了

iShot_2022-05-28_11.21.10.png





💘 相关文章

写一条评论

Based on Golang + fastHTTP + sdb | go1.18.3 Processed in 1ms