bash shell,调用ffmpeg定期截图

当前blog已不再更新,请移步新家:moozik.cn


#!/bin/bash
#获取当前目录中所有m3u8文件,并
var=$(ls |grep '.m3u8'|cut -d '.' -f1)
 
#死循环
while [ 1 = 1 ]
do
    #循环每个文件
    for stream in $var
    do
        #获取当前最新视频文件
        ts=$(ls -t|grep "$stream")
        for file in $ts
        do
            #存储M3U8文件文件名作为图片文件名,截图为220*120,截取第一帧,存储在当前目录的screen文件夹
            img=$(ls $file|cut -d '-' -f1)
            #调用ffmpeg 截取视频
            ffmpeg2 -i $file -y -f image2 -s 220*120 -vframes 1 screen/$img.png
            #跳出循环
            break
        done
    done
#延迟1分钟
sleep 1m
done

live目录文件

drwxrwxr-x 4 yusen yusen 4096 8月 10 14:07 .
drwxrwxrwx 14 root root 4096 8月 10 13:59 ..
-rw-rw-r-- 1 yusen yusen 1241740 8月 4 16:55 471132-10.ts
-rw-rw-r-- 1 yusen yusen 1237228 8月 4 16:55 471132-11.ts
-rw-rw-r-- 1 yusen yusen 1256404 8月 4 16:55 471132-12.ts
-rw-rw-r-- 1 yusen yusen 598028 8月 4 16:55 471132-13.ts
-rw-rw-r-- 1 yusen yusen 1242304 8月 4 16:55 471132-9.ts
-rw-rw-r-- 1 yusen yusen 229 8月 4 16:55 471132.m3u8
-rw-rw-r-- 1 yusen yusen 530912 8月 8 16:08 6598-0.ts
-rw-rw-r-- 1 yusen yusen 665332 8月 8 16:08 6598-1.ts
-rw-rw-r-- 1 yusen yusen 654616 8月 8 16:08 6598-2.ts
-rw-rw-r-- 1 yusen yusen 719100 8月 8 16:09 6598-3.ts
-rw-rw-r-- 1 yusen yusen 321668 8月 8 16:09 6598-4.ts
-rw-rw-r-- 1 yusen yusen 669468 8月 7 10:43 6598-5.ts
-rw-rw-r-- 1 yusen yusen 648788 8月 7 10:43 6598-6.ts
-rw-rw-r-- 1 yusen yusen 162620 8月 7 10:44 6598-7.ts
-rw-rw-r-- 1 yusen yusen 325 8月 8 16:09 6598.m3u8
drwxrwxr-x 2 yusen yusen 4096 8月 10 08:54 demo
drwxrwxr-x 2 yusen yusen 4096 8月 10 12:00 screen
-rwxrwxr-x 1 yusen yusen 520 8月 10 14:07 screen.sh
-rwxrwxr-x 1 yusen yusen 520 8月 10 14:01 screen.sh~
drwxrwxr-x 4 yusen yusen 4096 8月 10 14:07 .
drwxrwxrwx 14 root root 4096 8月 10 13:59 ..
-rw-rw-r-- 1 yusen yusen 1241740 8月 4 16:55 471132-10.ts
-rw-rw-r-- 1 yusen yusen 1237228 8月 4 16:55 471132-11.ts
-rw-rw-r-- 1 yusen yusen 1256404 8月 4 16:55 471132-12.ts
-rw-rw-r-- 1 yusen yusen 598028 8月 4 16:55 471132-13.ts
-rw-rw-r-- 1 yusen yusen 1242304 8月 4 16:55 471132-9.ts
-rw-rw-r-- 1 yusen yusen 229 8月 4 16:55 471132.m3u8
-rw-rw-r-- 1 yusen yusen 530912 8月 8 16:08 6598-0.ts
-rw-rw-r-- 1 yusen yusen 665332 8月 8 16:08 6598-1.ts
-rw-rw-r-- 1 yusen yusen 654616 8月 8 16:08 6598-2.ts
-rw-rw-r-- 1 yusen yusen 719100 8月 8 16:09 6598-3.ts
-rw-rw-r-- 1 yusen yusen 321668 8月 8 16:09 6598-4.ts
-rw-rw-r-- 1 yusen yusen 669468 8月 7 10:43 6598-5.ts
-rw-rw-r-- 1 yusen yusen 648788 8月 7 10:43 6598-6.ts
-rw-rw-r-- 1 yusen yusen 162620 8月 7 10:44 6598-7.ts
-rw-rw-r-- 1 yusen yusen 325 8月 8 16:09 6598.m3u8
drwxrwxr-x 2 yusen yusen 4096 8月 10 08:54 demo
drwxrwxr-x 2 yusen yusen 4096 8月 10 12:00 screen
-rwxrwxr-x 1 yusen yusen 520 8月 10 14:07 screen.sh
-rwxrwxr-x 1 yusen yusen 520 8月 10 14:01 screen.sh~

screen.sh为需要执行的shell
screen为存储截图的目录,执行shell后screen目录中文件为

drwxrwxr-x 2 yusen yusen 4096 8月 10 12:00 .
drwxrwxr-x 4 yusen yusen 4096 8月 10 14:07 ..
-rw-rw-r-- 1 yusen yusen 58497 8月 10 12:00 471132.png
-rw-rw-r-- 1 yusen yusen 29596 8月 10 12:00 6598.png

可以看到已经实现了自动获取视频截图,需要修改截取周期只需要修改sleep的参数就可以了

 

posted on 2015-08-25 11:22  moozik  阅读(905)  评论(0编辑  收藏  举报

导航