找回密码
 加入
搜索
楼主: afan

[原创] m3u8-DP 载播器(在线视频边下边播)

[复制链接]
发表于 2023-12-28 23:22:23 | 显示全部楼层
本帖最后由 w60711 于 2023-12-28 23:24 编辑
afan 发表于 2023-12-28 22:12
又改了一下,版本号1.2未变


報告,可播放、可合併
但是,
1.播放窗口莫名變大了~
2.輸出文件名稱:03,和原始標題不一樣
3.只能用版大的ffmpeg,替換官網最新的一樣出錯,看來是參數有改動過~



新版ffmpeg
〓准备解密合并,检查文件…
365 个文件已全部检测到,开始合并…
无 ffmpeg 进程需要等待
ffmpeg version 2023-12-28-git-c1340f3439-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58. 36.100 / 58. 36.100
  libavcodec     60. 36.100 / 60. 36.100
  libavformat    60. 20.100 / 60. 20.100
  libavdevice    60.  4.100 / 60.  4.100
  libavfilter     9. 14.102 /  9. 14.102
  libswscale      7.  6.100 /  7.  6.100
  libswresample   4. 13.100 /  4. 13.100
  libpostproc    57.  4.100 / 57.  4.100
Unrecognized option 'absf'.
Error splitting the argument list: Option not found

▲ D:\m3u8-DP\tmp\家裡蹲吸血姬的苦悶 ひきこまり吸血姫の悶々 第03集 - Gimy TV 劇迷線上看_ Gimy TV 劇迷線上看 解密&合并失败!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +50 收起 理由
afan + 50

查看全部评分

 楼主| 发表于 2023-12-28 23:42:57 | 显示全部楼层
本帖最后由 afan 于 2023-12-29 00:08 编辑
w60711 发表于 2023-12-28 23:22
報告,可播放、可合併
但是,
1.播放窗口莫名變大了~

1,设计是这样的:
    如果分辨率超过 1280x720 就使用 1280x720 分辨率做初始画面,因为较高分辨率的视频,字幕占比都比较小,如果把高分辨率缩得很小字幕就很难看,你还得去拉大一下。你的是 1920x1080,就符合这一点,而之前的则没这么高的分辨率~
2,如果是含有数字的,视为剧集,那么它们最终都是会放在影片命名的文件夹中,而mp4只要集数名即可。
3,并非版本越高越好,同一个视频资源,我也比对了几个版本,高版本偏慢,有时候还出错,所以就一直用现在这个版本用着~ 加上有些参数也不同,懒得去匹配了~
 楼主| 发表于 2023-12-28 23:45:43 | 显示全部楼层
本帖最后由 afan 于 2023-12-29 00:10 编辑

你注意看,标题也是精简到集数的~ 如果同时开很多进程下载,在任务栏能见到的有限字符都是有意义的,而不是全是重复的标题前段~

p.s, 你这下载速度很快啊~ 看来这网站不错~ 不过我今天在该网站试了一部,比如 这一部 ,发现有插播的广告(估计播放时长较长的都有),而且和一般的插播方式不同,应该还插播在了两处。要想判别甚至要解析每一个片段,所以,还得要研究下~

点评

他還有 .ai .io .tv 等等之類的網域...  发表于 2023-12-29 00:20
劇迷存在頗久了~ 我也只是為了測試,就拿來用了 =D  发表于 2023-12-29 00:16
发表于 2023-12-29 00:14:59 | 显示全部楼层
afan 发表于 2023-12-28 23:42
1,设计是这样的,如果分辨率超过 1280x720 就使用该分辨率做初始画面,你的是 1920x1080,就符合这一点 ...

了解了,那目前應該是沒有發現其他問題了~
辛苦版大修正了~~


至於比對ffmpeg新舊,
是因為1F說明中沒有指定版本
單純想說確認一下版本是否影響使用
看來是需要搭配一定版本號以內的~~
 楼主| 发表于 2023-12-29 11:06:08 | 显示全部楼层
w60711 发表于 2023-12-29 00:14
了解了,那目前應該是沒有發現其他問題了~
辛苦版大修正了~~

ffmpeg 也是我电脑里很久以前的东西,比如十年前写的这个 IFilm_视频预览图制作 也是调用的该程序。都是直接从比如 格式工厂 之类的软件中就地取材拿出来的,偶尔也单独下载过几个版本,不过都是调试调用一下,没有研究。因为只需要最基本的功能,无需追新。
比如 m3u8 就是用 ffmpeg 把 mp4 切片的,让它再合并成 mp4 应该是最简单的功能了。F1之所以没有指定版本,也确实就是因为这是最基本的功能,应该都通用,没想到参数也有改动。下次给你发个版本,可以自行设置参数,应该就能随意使用自己的 ffmpeg 了~

点评

那就先感謝了XD 是怕有其他人也因為這個原因弄半天,先確認一下好~~  发表于 2023-12-29 14:24
发表于 2023-12-29 11:41:44 | 显示全部楼层
Afan老大又出新品了,先体验收藏了!

评分

参与人数 1金钱 +120 收起 理由
afan + 120 为假期囤货 :)

查看全部评分

 楼主| 发表于 2023-12-30 12:20:23 | 显示全部楼层
w60711 发表于 2023-12-29 00:14
了解了,那目前應該是沒有發現其他問題了~
辛苦版大修正了~~

更新了1.3 版,可以试试适配你的 ffmpeg 版本~

231230        更新 1.3 版
        [修改]点击播放器左下角分辨率切换非全屏状态的窗口大小时,若无保存上次的大小,则使用播放器启动时的初始大小
           适合打开播放器后觉得初始窗口较大时的还原
        [修改]从此版开始,解析成功会保存状态,在程序启动载入或下拉选择链接时,若该项缓存文件夹存在相关数据
           则可直接读取已有数据,无需再次解析,便于下载或合并测试
        [新增]在“下载”按钮上点击右键可弹出“仅合并”菜单项,该项主要用于下载已完成后的再次输出 mp4 文件(如调试参数用)
        [新增]可自定义合并mp4的参数,以调试适配自行选择的ffmpeg版本
           在 m3u8Config.ini 配置文件的[opt]字段中添加 ffmpegParameter=自定义参数(不要包括输入、输出文件参数,这两项由程序添加)


发表于 2023-12-30 19:50:32 | 显示全部楼层
afan 发表于 2023-12-30 12:20
更新了1.3 版,可以试试适配你的 ffmpeg 版本~

231230        更新 1.3 版

感恩~
不知是否有 ffmpegParameter=的範例
搞不定這個 (汗...
 楼主| 发表于 2023-12-30 20:10:18 | 显示全部楼层
本帖最后由 afan 于 2023-12-30 20:16 编辑
w60711 发表于 2023-12-30 19:50
感恩~
不知是否有 ffmpegParameter=的範例
搞不定這個 (汗...

就是填写合并用的 -vcodec (视频编码参数) -acodec (音频编码参数),如果不用编码直接复制就是 copy。如果仅填写 ffmpegParameter=-vcodec copy -acodec copy 可能出错,就要根据提示添加纠错编码 -absf aac_adtstoasc
即: ffmpegParameter=-vcodec copy -acodec copy -absf aac_adtstoasc  或者 -vcodec copy -absf aac_adtstoasc (这种就音频全部转码,耗时要长些,文件也大些)
但是根据你之前的测试你的 ffmpeg 版本情况,参数又可能不同,或者还要添加其它参数都不一定,所以还得根据你的错误提示去修改,或者用类似“ffmpeg 合并 m3u8” 的关键字去搜一下~

点评

了解了 感謝~ 這可能要一些時間來測試測試XD  发表于 2023-12-31 03:00
发表于 2024-1-1 17:57:12 | 显示全部楼层
afan 发表于 2023-12-30 20:10
就是填写合并用的 -vcodec (视频编码参数) -acodec (音频编码参数),如果不用编码直接复制就是 copy。如果 ...

看起來不是這一段的問題......
我不知道大大的語法為何,故作以下嘗試

方法1:
我嘗試用新舊的ffmpeg都成功
ffmpeg -i "concat:fbCf$000.ts|player0000.ts|player0001.ts|player0002.ts|player0003.ts|" -c:v copy -c:a copy -bsf:a aac_adtstoasc "_output.mp4"

新的ffmpeg成功,舊的ffmpeg失敗
ffmpeg -i "concat:fbCf$000.ts|player0000.ts|player0001.ts|player0002.ts|player0003.ts|" -c copy "_output.mp4"
[mp4 @ 04c89920] malformated aac bitstream, use -absf aac_adtstoasc
av_interleaved_write_frame(): Operation not permitted



方法2:先合併,再轉檔
copy /b *.ts _new.ts

新舊的ffmpeg都成功
ffmpeg -i "_new.ts" -vcodec copy -acodec copy -absf aac_adtstoasc "_output.mp4"

新的ffmpeg成功,舊的ffmpeg失敗
ffmpeg -i "_new.ts" -c copy "_output.mp4"
[mp4 @ 02d628c0] malformated aac bitstream, use -absf aac_adtstoasc
av_interleaved_write_frame(): Operation not permitted

评分

参与人数 1金钱 +50 收起 理由
afan + 50 辛苦~

查看全部评分

 楼主| 发表于 2024-1-1 18:03:53 | 显示全部楼层
w60711 发表于 2024-1-1 17:57
看起來不是這一段的問題......
我不知道大大的語法為何,故作以下嘗試

方法1
ffmpeg -i "concat:fbCf$000.ts|player0000.ts|player0001.ts|player0002.ts|player0003.ts|" -c:v copy -c:a copy -bsf:a aac_adtstoasc "_output.mp4"
这个就是和我上面说的一样,只是参数选项名你写的是简写
-c:v copy -c:a copy -bsf:a aac_adtstoasc
和我上面写的是一样的(也是本程序的默认值)
-vcodec copy -acodec copy -absf aac_adtstoasc

点评

我知道2者以一樣~~ 可是直接下命令不管版本都是能轉檔...所以應該不是這部分的問題@@  发表于 2024-1-1 18:08
 楼主| 发表于 2024-1-1 18:25:03 | 显示全部楼层
本帖最后由 afan 于 2024-1-1 18:43 编辑
w60711 发表于 2024-1-1 17:57
看起來不是這一段的問題......
我不知道大大的語法為何,故作以下嘗試

你在上面16#里面贴的信息是提示没有 absf 选项的错误,


而你的方法2下面的新舊的ffmpeg都成功
ffmpeg -i "_new.ts" -vcodec copy -acodec copy -absf aac_adtstoasc "_output.mp4"
这里面又明显有 absf  选项,所以,不知道你是不是更换了版本…

我刚才用简写的选项参数测试了,我这里的旧版是ok的,既然你测试ok,也可以试试
ffmpegParameter=-c:v copy -c:a copy -bsf:a aac_adtstoasc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2024-1-1 20:36:24 | 显示全部楼层
本帖最后由 afan 于 2024-1-1 22:11 编辑

分享最末版 1.4 版 (后续版本不再公开发布,仅与道友分享)
        [修改]重新加入支持保存路径包含韩文或其它特殊双子节U码字符,只要命名不含*:?<>|等非法字符即可
        [修正]拖入或从菜单打开如上所述特殊字符路径的文件到播放器会失败的问题
           现在即便文件(路径)名中含有韩文或其它U码字符也能正常打开播放了
        [新增]播放快捷键【Ctrl - End】无响应时退出(Debug)
        [修正]一处下载出错文件计数逻辑
        [新增]预留清除插播广告功能接口
发表于 2024-1-2 04:30:14 | 显示全部楼层
本帖最后由 w60711 于 2024-1-2 04:35 编辑
afan 发表于 2024-1-1 18:25
你在上面16#里面贴的信息是提示没有 absf 选项的错误,

抱歉 我有點混亂沒有表達的很好...


我版本都一樣,沒有變換過~
完整參數和簡寫參數也都有用過了
可ˋ能m3u8-DP和直接下指令流程有不一樣的地方

現在,直接使用m3u8-DP操作:
ffmpegParameter=-c:v copy -c:a copy -bsf:a aac_adtstoasc
a大版本的ffmpeg
〓当前已载入之前解析成功的数据,可无需再次解析
已获取所有视频链接,共 710 个
◆解析完成!分段数: 710, 总时长: 00:23:40


〓准备解密合并,检查文件…
710 个文件已全部检测到,开始合并…
无 ffmpeg 进程需要等待
ffmpeg version N-53033-g56ba331 Copyright (c) 2000-2013 the FFmpeg developers
  built on May 13 2013 22:18:29 with gcc 4.7.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 31.100 / 52. 31.100
  libavcodec     55.  9.100 / 55.  9.100
  libavformat    55.  7.100 / 55.  7.100
  libavdevice    55.  0.100 / 55.  0.100
  libavfilter     3. 65.100 /  3. 65.100
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100

Input #0, hls,applehttp, from 'C:\Users\Administrator\AppData\Local\Temp\~namxgno.tmp':
  Duration: 00:21:12.00, start: 1.457000, bitrate: 0 kb/s
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 854x480 [SAR 2560:2559 DAR 13664:7677], 12.50 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 67 kb/s
Output #0, mp4, to 'D:\m3u8-DP\01 (5).mp4':
  Metadata:
    encoder         : Lavf55.7.100
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 854x480 [SAR 2560:2559 DAR 13664:7677], q=2-31, 12.50 fps, 90k tbn, 90k tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 67 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help

frame=23890 fps=0.0 q=-1.0 size=   64833kB time=00:15:55.50 bitrate= 555.8kbits/s    

frame=35503 fps=0.0 q=-1.0 Lsize=   97377kB time=00:23:40.15 bitrate= 561.7kbits/s    

video:84614kB audio:11602kB subtitle:0 global headers:0kB muxing overhead 1.207168%

★ D:\m3u8-DP\tmp\家裡蹲吸血姬的苦悶 ひきこまり吸血姫の悶々 第01集 - Gimy TV 劇迷線上看_ Gimy TV 劇迷線上看
耗时 1 秒,解密合并已完成!输出文件:
D:\m3u8-DP\01 (5).mp4
大小为:95.1 MB
2023-12-28新版本的ffmpeg
Not detecting m3u8/hls with non standard extension and non standard mime type
2023.05.15
Not detecting m3u8/hls with non standard extension
〓当前已载入之前解析成功的数据,可无需再次解析
已获取所有视频链接,共 710 个
◆解析完成!分段数: 710, 总时长: 00:23:40


〓准备解密合并,检查文件…
710 个文件已全部检测到,开始合并…
无 ffmpeg 进程需要等待
ffmpeg version 2023-12-28-git-c1340f3439-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      58. 36.100 / 58. 36.100
  libavcodec     60. 36.100 / 60. 36.100
  libavformat    60. 20.100 / 60. 20.100
  libavdevice    60.  4.100 / 60.  4.100
  libavfilter     9. 14.102 /  9. 14.102
  libswscale      7.  6.100 /  7.  6.100
  libswresample   4. 13.100 /  4. 13.100
  libpostproc    57.  4.100 / 57.  4.100
Not detecting m3u8/hls with non standard extension and non standard mime type
    Last message repeated 7 times
[in#0 @ 000001fc967aa2c0] Error opening input: Invalid data found when processing input
Error opening input file C:\Users\Administrator\AppData\Local\Temp\~rgjyfpr.tmp.
Error opening input files: Invalid data found when processing input

▲ D:\m3u8-DP\tmp\家裡蹲吸血姬的苦悶 ひきこまり吸血姫の悶々 第01集 - Gimy TV 劇迷線上看_ Gimy TV 劇迷線上看 解密&合并失败!
貌似 2023.05.16 修改過,但更早之前就有相關檢驗了
diff --git a/libavformat/hls.c b/libavformat/hls.c
index 2bc142510e..4fff4405e8 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -2546,8 +2546,8 @@  static int hls_probe(const AVProbeData *p)
 
         if (!mime_ok &&
             !mime_x &&
-            !av_match_ext    (p->filename, "m3u8,hls,m3u") &&
-             ff_match_url_ext(p->filename, "m3u8,hls,m3u") <= 0) {
+            !av_match_ext    (p->filename, "m3u8,m3u") &&
+             ff_match_url_ext(p->filename, "m3u8,m3u") <= 0) {
             av_log(NULL, AV_LOG_ERROR, "Not detecting m3u8/hls with non standard extension and non standard mime type\n");
             return 0;
         }



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +50 贡献 +2 收起 理由
afan + 50 + 2 辛苦了~~

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-29 06:00 , Processed in 0.085131 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表