perl:打开文件夹,选择视频文件,并播放

在Windows10系统中Perl安装Tk模块

运行 cmd

cpan

install Tk

编写 openvideo.pl 如下

perl 复制代码
#!/usr/bin/perl
use strict;
use warnings;
use File::Basename;
use Tk;

my $mw = MainWindow->new or die 'cannot create Widget';

my $types = [['AVI', '.avi'], ['MP4', '.mp4']];

my $file = $mw->getOpenFile(-initialdir=>'D:/VIDEO', -filetypes=>$types);
#print $file;

if ( -e $file){
    my $fname = basename($file);
    system("D:/FFModules/Encoder/mplayer.exe -title $fname -aspect 4:3 $file");
} else {
    print 'file is not exists.';
}
#MainLoop;

运行 perl openvideo.pl

如果你的PC安装了【 格式工厂】这个应用软件,那么实际安装了Windows版的 FFmpeg

在D:\FormatFactory\FFModules\Encoder\ 能找到 mplayer.exe 和 ffmpeg.exe

这里谈谈 mplayer 简单应用:mplayer -h

  1. 播放比例调整

mplayer -aspect 16:9 <videofile>

mplayer -aspect 4:3 <videofile>

  1. 控制热键

基本播放

→     前进10秒

←     后退10秒

↑     前进60秒

↓     后退60秒

PageUP  前进10分钟

PageDown 后退10分钟

Enter   全屏开关

Space   暂停开关

Esc    退出

q     退出


perldoc Encode

经过测试发现,即使 use Encode qw(decode encode); 也无法处理含中文的文件路径。

python 3 处理含中文的文件路径,没有问题。光凭这一点,python 就比 perl 更先进。

相关推荐
彷徨而立12 小时前
【FFmpeg】销毁解码器时,必须清理剩余帧吗?
ffmpeg
骄傲的心别枯萎12 小时前
项目1:FFMPEG推流器讲解(五):FFMPEG时间戳、时间基、时间转换的讲解
ffmpeg·音视频·视频编解码·时间戳·rv1126
彷徨而立15 小时前
【FFmpeg】HW 解码器销毁时,资源回收顺序
ffmpeg
彷徨而立1 天前
【FFmpeg】如何判断 HW解码器输出的是 硬件帧?
ffmpeg
派阿喵搞电子1 天前
基于ffmpeg库,在AGX上编译jetsonFFmpeg库带有硬件加速的h264_nvmpi视频编解码器
ffmpeg·视频编解码
彷徨而立1 天前
【FFmpeg】HW解码器输出 硬件帧 or 软件帧
ffmpeg
长沙红胖子Qt1 天前
FFmpeg开发笔记(十三):ffmpeg采集麦克风音频pcm重采样为aac录音为AAC文件
笔记·ffmpeg·音视频
feiyangqingyun1 天前
全网首发/Qt结合ffmpeg实现rist推拉流/可信赖的互联网流媒体协议/跨平台支持各个系统
qt·ffmpeg·rist推拉流
shenhuxi_yu2 天前
ffmpeg avio使用示例
ffmpeg
aqi003 天前
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
ffmpeg·音视频·直播·流媒体