找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 146190|回复: 62

[其他] bmp3 命令行万能播放器

[复制链接]
发表于 2021-8-19 16:13:48 | 显示全部楼层 |阅读模式
本帖最后由 slimay 于 2021-8-19 19:18 编辑

bmp3 命令行 万能播放器
bmp系列第三方的简介
第一代 bmp.exe  由 大佬plp626 发现的 cmd 窗口显示图片, 由此开启了批处理 图形游戏的黄金时代, 堪称 批处理界的第一次科技 革 命.由此衍生的image系列第三方,培养了一大堆批处理图形游戏开发高手,他们至今依就活跃在bat吧和各大批处理论坛 . 参考下载:  http://www.bathome.net/thread-11364-1-1.html
第二代 bmp2.exe 我进行了些许改进, 实现批量播放图片, 也就是逐帧动画. 参考帖子9楼下载: http://www.bathome.net/thread-59519-1-1.html
第三代 bmp3.exe 主要不想费脑, 直接借用ffmpeg库, 套个壳, 批处理 直接 播放视频, 懒得写声音了,方便自己使用其他第三方配音.  参考下载: http://cmd1152.ys168.com/  网盘目录下的 文件区 \ bmp3命令行万能播放( 最新 ).zip


下载加强版 ,请直接下载 网盘目录下的 文件区 bmp3(加强版).zip, 加强版支持缩放参数(第五个参数),支持暂停p键,支持快进d, 兼容xp系统, 经测试, 无显卡的xp系统,依然能8%的cpu占用率流畅运行,毫无卡的. 如果有独立显卡, 可能会造成不兼容性.
流畅的一塌糊涂,可以自行添加延时时长.

  1. 用法: bmp3     视频文件路径     延时时间秒可以0.几秒     在窗口显示的横坐标位置     在窗口显示的纵坐标位置
复制代码
(延时, 坐标也可省略不写,默认 0)


bmp3核心源码, 就是用GDI把每一帧BMP 画出来, 送佛送到西, 再也不用转图片了

  1. static int show_frame(Graphics& graph, int xPos, int yPos, AVCodecContext *avctx, struct SwsContext *img_convert_ctx, AVFrame *frame, int *frame_count, AVPacket *pkt, int last )
  2. {
  3.         int len, got_frame;
  4.         len = avcodec_decode_video2( avctx, frame, &got_frame, pkt );
  5.         if( len < 0 )
  6.         {
  7.                 fprintf( stderr, "Error while decoding frame %d\n", *frame_count );
  8.                 return len;
  9.         }
  10.        
  11.         if( got_frame )
  12.         {
  13.                 int numBytes = avpicture_get_size( AV_PIX_FMT_BGR24, frame->width, frame->height );
  14.                 uint8_t* buffer = ( uint8_t * )av_malloc( numBytes * sizeof( uint8_t ) );
  15.                
  16.                 AVFrame *pFrameRGB = av_frame_alloc();
  17.                 avpicture_fill( ( AVPicture * )pFrameRGB, buffer, AV_PIX_FMT_BGR24, frame->width, frame->height );
  18.                 sws_scale( img_convert_ctx, frame->data, frame->linesize, 0, frame->height, pFrameRGB->data, pFrameRGB->linesize );
  19.                
  20.                 Bitmap bitmap(frame->width, frame->height, frame->width *3, PixelFormat24bppRGB, pFrameRGB->data[0]);
  21.                 graph.DrawImage(&bitmap, xPos, yPos);

  22.                 av_freep( &pFrameRGB[0] );
  23.                 av_free( pFrameRGB );

  24.                 ( *frame_count )++;
  25.         }
  26.        
  27.         if( pkt->data )
  28.         {
  29.                 pkt->size -= len;
  30.                 pkt->data += len;
  31.         }
  32.         return 0;
  33. }

复制代码
发表于 2021-8-19 16:18:36 | 显示全部楼层
你的bmp2.exe被我的程序删除了,我已经加白名单了
发表于 2021-8-19 16:19:05 | 显示全部楼层
能不能重新发
发表于 2021-8-19 16:20:09 | 显示全部楼层
bmp3运行时左上角会弹帮助,你修复一下
 楼主| 发表于 2021-8-19 16:22:46 | 显示全部楼层
回复 3# cmd1152
嗯,已经重新上传了, 参见 bmp3命令行万能播放(最新).zip
发表于 2021-8-19 16:25:08 | 显示全部楼层
回复 5# slimay


    你的bmp2和bmp3被删除了,能不能重新发
发表于 2021-8-19 16:26:34 | 显示全部楼层
回复 5# slimay


    我从后台恢复一下bmp3
发表于 2021-8-19 16:27:01 | 显示全部楼层
太好了YYDS
发表于 2021-8-19 16:27:40 | 显示全部楼层
回复 5# slimay
在Windows10下,即使是最新版,也会弹出帮助...[而且窗口与视频比例不协调...]
发表于 2021-8-19 16:28:52 | 显示全部楼层
不支持xp32啊,无法定位程序输入点
 楼主| 发表于 2021-8-19 16:29:36 | 显示全部楼层
回复 9# HOPE2021
能截个图吗? 我看看视频比例 歪成啥了? 你截个图上传到 cmd1152的网盘啊
 楼主| 发表于 2021-8-19 16:31:40 | 显示全部楼层
回复 10# 看电池
稍等,我再测试下xp, xp系统太老了, 不过一会就能让你xp跳起舞来
发表于 2021-8-19 16:31:59 | 显示全部楼层
是要下载ffmpeg吗
发表于 2021-8-19 16:32:21 | 显示全部楼层
回复 11# slimay


    可以上传到 BATHOMEPNG 目录
发表于 2021-8-19 16:32:43 | 显示全部楼层
回复 12# slimay


    谢谢awa
(其实bat也很老)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:02 , Processed in 0.015765 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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