本篇介绍在Sipeed LicheeRV 86 Panel中播放视频。
tina镜像中内置了FFmpeg软件包,可以使用FFmpeg进行视频播放。
FFmpeg简介
FFmpeg(Fast Forward Mpeg)是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。
FFmpeg命令行使用格式
FFmpeg 的命令行参数可以分成五个部:
$ ffmpeg {1} {2} -i {3} {4} {5}
例如本次需要进行视频播放的命令为:
ffmpeg -i /mnt/exUDISK/badapple_480360_xvid.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:0,0
FFmpeg常用的命令行参数有:
-c:指定编码器
-c copy:直接复制,不经过重新编码(这样比较快)
-c:v:指定视频编码器
-c:a:指定音频编码器
-i:指定输入文件
-an:去除音频流
-vn: 去除视频流
-preset:指定输出的视频质量,会影响文件的生成速度,有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。
-y:不经过确认,输出时直接覆盖同名文件。
视频播放测试
播放例程所用的BadApple测试视频
播放U盘里的BadApple视频::
ffmpeg -i /mnt/exUDISK/badapple_480360_xvid.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:0,0
使用如下指令,可以使画面居中,上下可以留黑边,但是视频播放会稍微变卡:
ffmpeg -i /mnt/exUDISK/badapple_480360_xvid.mp4 -pix_fmt bgra -vf pad='w=480:h=480:x=(ow-iw)/2:y=(oh-ih)/2' -f fbdev /dev/fb0 -f alsa hw:0,0
播放自制的视频
自己制作一段视频,以xvid格式编码视频,分辨率调整到480x480,比如我将“打,打个大西瓜”这个短片使用视频编辑软件改了一下视频的尺寸,播放指令如下:
ffmpeg -i /mnt/exUDISK/dgdxg_xvid.mp4 -pix_fmt bgra -f fbdev /dev/fb0 -f alsa hw:0,0
串口输出如下:
实际的播放效果还是比较流畅的:
播放电视直播
找一个电视直播的视频源,板子连网之后可以查看电视直播:
ffmpeg -i
http://183.207.249.6/PLTV/3/224/3221225534/index.m3u8 -pix_fmt bgra -vf scale=480:480 -f fbdev /dev/fb0 -f alsa hw:0,0
指令中的“-vf scale=480:480”是用来将x视频尺寸调整至480x480,播放画面如下,虽然能播,但是画面非常的卡。
总结
本篇测试了Sipeed LicheeRV 86 Panel开发板使用FFmpeg进行视频播放的能力,对于播放480x480以下的视频,画面和声音都比较流程,如果使用了FFmpeg的尺寸修改功能,或是从网络直播源播放视频,播放就会不同程度的变卡。
文章转载自:平头哥芯片开放社区 作者:码农爱学习