Board logo

标题: [特效代码] bat窗口播放视频 [打印本页]

作者: 看电池    时间: 2021-8-15 09:41     标题: bat窗口播放视频

本帖最后由 看电池 于 2021-8-16 12:36 编辑

之前看到了大佬plp626的cmd窗口显示图片
http://www.bathome.net/thread-11364-1-1.html
因为图片+音乐=视频
所以我就写了一段播放伪视频的bat
帧率超低
  1. @echo off&setlocal enabledelayedexpansion
  2. title 大庆油田 by:看电池
  3. mode con cols=35 lines=31
  4. start y\y.vbs
  5. set v=0
  6. for /l %%i in (0 1 51) do (
  7. set /a v=v+1
  8. y\i.exe y\y!v!.bmp 0 0
  9. for /l %%i in (0 1 380) do echo m>nul
  10. )
  11. pause>nul
复制代码

作者: 看电池    时间: 2021-8-15 09:47

本帖最后由 看电池 于 2021-8-16 12:38 编辑

附件下载(cmd1152的网站)文件区\bat窗口播放视频.zip
http://cmd1152.ys168.com/
作者: cmd1152    时间: 2021-8-15 10:23

  1. ping /n 1 192.178.1.110 >nul
复制代码
换成
  1. for /l %%t in (1,1,600) do (set ppp=0)
复制代码

作者: cmd1152    时间: 2021-8-15 10:27

回复 2# 看电池


    你给的网址打不开,可否上传到我的空间?
    上传方法:
                1.进入http://cmd1152.ys168.com
                2.打开 文件区 文件夹
                3.点击左上角的 上传文件
                4.选择你要上传的文件
                5.点击确定
作者: 看电池    时间: 2021-8-15 10:45

回复 4# cmd1152


    谢谢,已上传
作者: 看电池    时间: 2021-8-15 10:48

本帖最后由 看电池 于 2021-8-15 10:52 编辑

回复 3# cmd1152


   for命令
不太行啊,视频声音不同步
作者: peterboy666    时间: 2021-8-15 14:20

CMD 窗口能播放真视频

Demo Video:
https://cowtransfer.com/s/bb4abb2411f24c
作者: 看电池    时间: 2021-8-15 16:40

回复 7# peterboy666


    e,这个我看不像是纯bat写的,能给一下代码吗?
作者: slimay    时间: 2021-8-16 18:03

本帖最后由 slimay 于 2021-8-16 18:11 编辑
>>>  改进的控制台显示视频第三方 bmp2.exe  <<<
可以实现瞬时逆放视频, 最高 每秒1000张图片的显示速度.音轨同步, 也算是一个视频播放器吧, 但是是控制台下的,只有23KB.
附件下载(cmd1152的网站)文件区\bmp2窗口播放视频.zip
http://cmd1152.ys168.com/

基础用法:
bmp2 "第一张图"  "最后一张图"  延时  "背景音乐"
bmp2 "第一张图"  "最后一张图"  延时   位置的横坐标    位置的纵坐标   "背景音乐"


开放源码
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <gdiplus.h>
  4. #include<mmsystem.h>
  5. #pragma comment(lib,"Winmm.lib")
  6. #pragma comment(lib,"Gdiplus.lib")
  7. using namespace Gdiplus;
  8. #define USAGE_INFORMATION "\
  9. Usage: bmp2 [start picture] [end picture] [delayed time]\n\
  10.        bmp2 [start picture] [end picture] [delayed time] [mp3]\n\
  11.        bmp2 [start picture] [end picture] [delayed time] [x position] [y position]\n\
  12.        bmp2 [start picture] [end picture] [delayed time] [x position] [y position] [mp3]\n\
  13. Made by Slimay.\n"
  14. extern "C" HWND WINAPI GetConsoleWindow();
  15. int main( int argc, char** argv )
  16. {
  17. if( argc - 1 < 3 || argc - 1 > 6 )
  18. {
  19. printf( USAGE_INFORMATION );
  20. exit( 1 );
  21. }
  22. if( argc - 1 == 4 || argc - 1 == 6 )
  23. {
  24. char* musicFile = ( argc - 1 == 4 ) ? argv[4] : argv[6];
  25. char musicStr[512] = {0};
  26. sprintf( musicStr, "open %s alias bkmusic", musicFile );
  27. mciSendStringA( musicStr, NULL, 0, NULL );
  28. mciSendString( "play bkmusic repeat", NULL, 0, NULL );
  29. }
  30. // 获取前缀名
  31. int startNum = -1;
  32. int endNum = -1;
  33. float delayTime = atof( argv[3] );
  34. int xPos = ( argc - 1 >= 5 ) ? atoi( argv[4] ) : 0;
  35. int yPos = ( argc - 1 >= 5 ) ? atoi( argv[5] ) : 0;
  36. int numShowWidth = 1;
  37. char* preName = NULL;
  38. char* lastName = NULL;
  39. char* p = argv[1];
  40. while( *p )
  41. {
  42. if( '0' <= *p && *p <= '9' )
  43. {
  44. preName = argv[1];
  45. startNum = atoi( p );
  46. *p = 0;
  47. p++;
  48. while( '0' <= *p && *p <= '9' )
  49. {
  50. p++;
  51. numShowWidth ++;
  52. }
  53. lastName = p;
  54. break;
  55. }
  56. p++;
  57. }
  58. p = argv[2];
  59. while( *p )
  60. {
  61. if( '0' <= *p && *p <= '9' )
  62. {
  63. endNum = atoi( p );
  64. break;
  65. }
  66. p++;
  67. }
  68. ULONG_PTR gdipludToken;
  69. GdiplusStartupInput gdiplusInput;
  70. GdiplusStartup(&gdipludToken,&gdiplusInput,NULL);
  71. {
  72. HDC  hDC =GetDC(GetConsoleWindow());
  73. HDC memDC = CreateCompatibleDC( hDC );
  74. HBITMAP hMemBitmap = CreateCompatibleBitmap(hDC, 1024, 1024);
  75. SelectObject(memDC, hMemBitmap);
  76. Graphics graph( memDC );
  77. wchar_t wcsPreName[512 * 2];
  78. char picName[512] = {0};
  79. for( int i = startNum; ( startNum - endNum <= 0 ) ? ( i <= endNum ) : ( i >= endNum ); i += ( ( startNum - endNum <= 0 ) ? ( 1 ) : ( -1 ) ) )
  80. {
  81. sprintf( picName, "%s%0*d%s", preName, numShowWidth, i, lastName );
  82. int textlen = MultiByteToWideChar( CP_ACP, 0, picName, -1, NULL, 0 );
  83. MultiByteToWideChar( CP_ACP, 0, picName, -1, (LPWSTR)wcsPreName, textlen );
  84. wcsPreName[textlen] = 0x0000;
  85. Image* srcIMG = Image::FromFile(wcsPreName);
  86. graph.DrawImage(srcIMG, xPos, yPos);
  87. BitBlt( hDC, xPos, yPos, srcIMG->GetWidth(), srcIMG->GetHeight(), memDC, 0, 0, SRCCOPY );
  88. Sleep( ( int )( delayTime * 1000 ) );
  89. }
  90. }
  91. GdiplusShutdown(gdipludToken);
  92. return 1;
  93. }
复制代码

作者: hztccy    时间: 2021-8-17 11:00

我们还在玩基础,大神玩家都可以进阶玩视频了
作者: cmd1152    时间: 2021-8-17 12:10

回复 9# slimay


    看 文件区\bmp2窗口播放视频优化.zip
作者: cmd1152    时间: 2021-8-17 12:11

回复 10# cmd1152


    视频能不能换成https://mr.baidu.com/r/qBa9WTzF8k?f=cp&u=3564ca6d0b2fd204
作者: cmd1152    时间: 2021-8-17 12:13

回复 9# slimay


    视频能不能换成https://mr.baidu.com/r/qBa9WTzF8k?f=cp&u=3564ca6d0b2fd204
作者: slimay    时间: 2021-8-17 14:03

回复 13# cmd1152
已经换成了,参见, 文件区 "bmp2已经替换成这个视频了.zip",  直接pr就能把视频导成jpg序列,
作者: cmd1152    时间: 2021-8-17 14:53

回复 14# slimay


    什么是pr,对了,你能不能搞功夫熊猫?2技术
作者: cmd1152    时间: 2021-8-17 14:54

回复 14# slimay


    中文版
作者: slimay    时间: 2021-8-17 15:03

本帖最后由 slimay 于 2021-8-17 15:05 编辑

回复 16# cmd1152
pr是视频剪辑软件, 可以把任何视频分离音频, 分离出每一张图片.方便用bmp2 播放.pr就是为bmp2服务的. 当然bmp2是唯一能实现控制台 逐帧动画 逆放的第三方.
你下载pr安装, 自己也能把功夫熊猫2到处成图片, 然后用bmp2播放.
作者: cmd1152    时间: 2021-8-17 15:05

回复 17# slimay


    你能不能改成 功夫熊猫(中文版) ? 2 技术
作者: slimay    时间: 2021-8-17 15:06

回复 18# cmd1152
那还得去下载那个电影, 而且改成了,你的网盘传不上去,你的容量上传限制30M, 功夫熊猫2导出图片可能有几个G大小, 任何免费网盘都上传不了.
作者: cmd1152    时间: 2021-8-17 15:27

回复 19# slimay


    百度网盘
作者: cmd1152    时间: 2021-8-17 16:35

回复 17# slimay


    没有钱......
作者: 看电池    时间: 2021-8-17 17:28

wow,论坛的大佬都太牛皮了
作者: 看电池    时间: 2021-8-17 17:36

这种播放视频的方式缺点就是占用内存都奇大无比啊
作者: cmd1152    时间: 2021-8-17 18:40

回复 23# 看电池


    至少他不会卡住和缓冲
作者: cmd1152    时间: 2021-8-17 18:44

回复 19# slimay


    你可以用百度网盘
作者: 看电池    时间: 2021-8-18 11:55

回复 24# cmd1152


    本地视频也不会,cpu内存占用高时,bmp一样会卡
作者: cmd1152    时间: 2021-8-18 12:03

回复 26# 看电池


   像 爱奇艺万能播放器 播放视频时Cpu使用率直接100%
   批处理不会
作者: cmd1152    时间: 2021-8-18 12:05

回复 19# slimay


    你可以用百度网盘发我
作者: cmd1152    时间: 2021-8-18 12:06

回复 17# slimay


    pr需要钱,我没有钱
作者: cmd1152    时间: 2021-8-18 12:07

回复 19# slimay


   
几个G

    我U盘64G......
作者: cmd1152    时间: 2021-8-18 13:55

回复 19# slimay


    是一个文件最多30M...你可以用百度网盘
作者: 看电池    时间: 2021-8-18 17:37

回复 31# cmd1152


    我看网上有好多破解版pr啊,你可以在网上下
http://www.uzzf.com/soft/196694.html
作者: cmd1152    时间: 2021-8-18 18:06

回复 32# 看电池


    安装之后自己删了?
作者: 看电池    时间: 2021-8-18 18:17

回复 33# cmd1152


    那是杀毒软件杀了,我的360也报毒了,你看看能不能关掉杀毒软件,我现在安上了
作者: 看电池    时间: 2021-8-18 18:20

回复 33# cmd1152


    啊,我不会用啊!!!
作者: 看电池    时间: 2021-8-18 18:46

回复 35# 看电池

e,显卡太烂,用不了
作者: cmd1152    时间: 2021-8-18 19:34

回复 34# 看电池


    关了还是一样
作者: 看电池    时间: 2021-8-18 20:03

回复 37# cmd1152


这我没办法了,推荐
https://www.dvdvideosoft.com/dow ... amp;ls=GuideTopLink
但我也用不了
作者: slimay    时间: 2021-8-19 16:24

回复 38# 看电池
我又写了个新的,请使用最新版bmp3, 直接播放视频, 无需转图片.支持各种视频格式 http://www.bathome.net/thread-59578-1-1.html
作者: cmd1152    时间: 2021-12-10 13:43

回复 9# slimay


    这个也帮忙转换一下.........   https://haokan.baidu.com/videoui ... %22%7D&pd=share
作者: cmd1152    时间: 2021-12-10 13:56

回复 9# slimay


    如果可以的话:https://haokan.baidu.com/videoui ... %22%7D&pd=share
作者: slimay    时间: 2021-12-13 10:24

回复 41# cmd1152

这个时间太长, 转成图片几个G,实在有点太大了
作者: cmd1152    时间: 2021-12-13 18:47

本帖最后由 cmd1152 于 2021-12-13 18:53 编辑

回复 42# slimay


    没关系,我的空间可以 无限扩展 ,你只需要:在压缩选项选择: 压缩分卷大小 => 2MB - 论坛附件 - 大 => 压缩
    这样就会生成许多大小为2MB的ZIP文件,把他们上传到我的 扩展空间 就好 (我的空间可以无限扩展)

    空间不足欢迎联系我 扩展文件夹 或 扩展空间




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2