返回列表 发帖

[特效代码] bat窗口播放视频

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

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

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

附件下载(cmd1152的网站)文件区\bat窗口播放视频.zip
http://cmd1152.ys168.com/

TOP

ping /n 1 192.178.1.110 >nulCOPY
换成
for /l %%t in (1,1,600) do (set ppp=0)COPY
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 2# 看电池


    你给的网址打不开,可否上传到我的空间?
    上传方法:
                1.进入http://cmd1152.ys168.com
                2.打开 文件区 文件夹
                3.点击左上角的 上传文件
                4.选择你要上传的文件
                5.点击确定
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 4# cmd1152


    谢谢,已上传

TOP

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

回复 3# cmd1152


   for命令
不太行啊,视频声音不同步

TOP

CMD 窗口能播放真视频

Demo Video:
https://cowtransfer.com/s/bb4abb2411f24c

TOP

回复 7# peterboy666


    e,这个我看不像是纯bat写的,能给一下代码吗?

TOP

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

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


开放源码
#include <stdio.h>
#include <windows.h>
#include <gdiplus.h>
#include<mmsystem.h>
#pragma comment(lib,"Winmm.lib")
#pragma comment(lib,"Gdiplus.lib")
using namespace Gdiplus;
#define USAGE_INFORMATION "\
Usage: bmp2 [start picture] [end picture] [delayed time]\n\
       bmp2 [start picture] [end picture] [delayed time] [mp3]\n\
       bmp2 [start picture] [end picture] [delayed time] [x position] [y position]\n\
       bmp2 [start picture] [end picture] [delayed time] [x position] [y position] [mp3]\n\
Made by Slimay.\n"
extern "C" HWND WINAPI GetConsoleWindow();
int main( int argc, char** argv )
{
if( argc - 1 < 3 || argc - 1 > 6 )
{
printf( USAGE_INFORMATION );
exit( 1 );
}
if( argc - 1 == 4 || argc - 1 == 6 )
{
char* musicFile = ( argc - 1 == 4 ) ? argv[4] : argv[6];
char musicStr[512] = {0};
sprintf( musicStr, "open %s alias bkmusic", musicFile );
mciSendStringA( musicStr, NULL, 0, NULL );
mciSendString( "play bkmusic repeat", NULL, 0, NULL );
}
// 获取前缀名
int startNum = -1;
int endNum = -1;
float delayTime = atof( argv[3] );
int xPos = ( argc - 1 >= 5 ) ? atoi( argv[4] ) : 0;
int yPos = ( argc - 1 >= 5 ) ? atoi( argv[5] ) : 0;
int numShowWidth = 1;
char* preName = NULL;
char* lastName = NULL;
char* p = argv[1];
while( *p )
{
if( '0' <= *p && *p <= '9' )
{
preName = argv[1];
startNum = atoi( p );
*p = 0;
p++;
while( '0' <= *p && *p <= '9' )
{
p++;
numShowWidth ++;
}
lastName = p;
break;
}
p++;
}
p = argv[2];
while( *p )
{
if( '0' <= *p && *p <= '9' )
{
endNum = atoi( p );
break;
}
p++;
}
ULONG_PTR gdipludToken;
GdiplusStartupInput gdiplusInput;
GdiplusStartup(&gdipludToken,&gdiplusInput,NULL);
{
HDC  hDC =GetDC(GetConsoleWindow());
HDC memDC = CreateCompatibleDC( hDC );
HBITMAP hMemBitmap = CreateCompatibleBitmap(hDC, 1024, 1024);
SelectObject(memDC, hMemBitmap);
Graphics graph( memDC );
wchar_t wcsPreName[512 * 2];
char picName[512] = {0};
for( int i = startNum; ( startNum - endNum <= 0 ) ? ( i <= endNum ) : ( i >= endNum ); i += ( ( startNum - endNum <= 0 ) ? ( 1 ) : ( -1 ) ) )
{
sprintf( picName, "%s%0*d%s", preName, numShowWidth, i, lastName );
int textlen = MultiByteToWideChar( CP_ACP, 0, picName, -1, NULL, 0 );
MultiByteToWideChar( CP_ACP, 0, picName, -1, (LPWSTR)wcsPreName, textlen );
wcsPreName[textlen] = 0x0000;
Image* srcIMG = Image::FromFile(wcsPreName);
graph.DrawImage(srcIMG, xPos, yPos);
BitBlt( hDC, xPos, yPos, srcIMG->GetWidth(), srcIMG->GetHeight(), memDC, 0, 0, SRCCOPY );
Sleep( ( int )( delayTime * 1000 ) );
}
}
GdiplusShutdown(gdipludToken);
return 1;
}COPY

TOP

我们还在玩基础,大神玩家都可以进阶玩视频了

TOP

回复 9# slimay


    看 文件区\bmp2窗口播放视频优化.zip
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 10# cmd1152


    视频能不能换成https://mr.baidu.com/r/qBa9WTzF8k?f=cp&u=3564ca6d0b2fd204
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 9# slimay


    视频能不能换成https://mr.baidu.com/r/qBa9WTzF8k?f=cp&u=3564ca6d0b2fd204
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

回复 13# cmd1152
已经换成了,参见, 文件区 "bmp2已经替换成这个视频了.zip",  直接pr就能把视频导成jpg序列,

TOP

回复 14# slimay


    什么是pr,对了,你能不能搞功夫熊猫?2技术
梦依旧在,只是,心有余而力渐有不足
年年岁岁花相似,岁岁年年人不同

TOP

返回列表