ubuntu上ffmpeg使用framebuffer显示video

这篇具有很好参考价值的文章主要介绍了ubuntu上ffmpeg使用framebuffer显示video。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这个主题是想验证使用fbdev(Linux framebuffer device),将video直接显示到Linux framebuffer上,在FFmpeg中对应的FFOutputFormat 就是ff_fbdev_muxer

const FFOutputFormat ff_fbdev_muxer = {
    .p.name         = "fbdev",
    .p.long_name    = NULL_IF_CONFIG_SMALL("Linux framebuffer"),
    .priv_data_size = sizeof(FBDevContext),
    .p.audio_codec  = AV_CODEC_ID_NONE,
    .p.video_codec  = AV_CODEC_ID_RAWVIDEO,
    .write_header   = fbdev_write_header,
    .write_packet   = fbdev_write_packet,
    .write_trailer  = fbdev_write_trailer,
    .get_device_list = fbdev_get_device_list,
    .p.flags        = AVFMT_NOFILE | AVFMT_VARIABLE_FPS | AVFMT_NOTIMESTAMPS,
    .p.priv_class   = &fbdev_class,
};

先看一下怎么用,命令如下,将输入的视频文件 input.mp4 解码后输出到 Framebuffer 设备 /dev/fb0,命令执行没有问题,但是视频是看不到的,切换到虚拟tty就可以看到。

sudo ffmpeg -v 48 -i input.mp4 -c:v rawvideo -pix_fmt bgra -f fbdev /dev/fb0
  • -i input.mp4: 指定输入文件为 input.mp4
  • -c:v rawvideo: 指定使用原始视频编码器。
  • -pix_fmt bgra: 指定像素格式为 BGRA。
  • -f fbdev: 指定输出格式为 Framebuffer 设备。
  • /dev/fb0: 指定输出到 Framebuffer 设备的 /dev/fb0

再来看一下录制framebuffer内容,下面这个命令使用了 FFmpeg 录制 Linux 系统中的framebuffer (/dev/fb0) 的视频,并将其编码为 H.264 格式的 MP4 文件。

sudo ffmpeg -f fbdev -framerate 10 -i /dev/fb0 -vcodec h264 -f mp4 output.mp4
  • -f fbdev: 指定输入格式为帧缓冲设备。
  • -framerate 10: 指定录制视频的帧率为 10 帧每秒。
  • -i /dev/fb0: 指定输入文件为帧缓冲设备 /dev/fb0
  • -vcodec h264: 指定输出视频的编码格式为 H.264。
  • -f mp4: 指定输出文件格式为 MP4。
  • output.mp4: 指定输出文件名为 output.mp4。

📣 这两个命令组合起来,可以看到第一个命令input.mp4解码写入到/dev/fb0后,通过第二个命令录制的output.mp4文件就是第一个的input.mp4的内容。或者ctrl+alt+f2切换到虚拟tty,直接用第一条命令,就可以看到视频和输出log混合在一起在屏幕上显示了。

ubuntu上ffmpeg使用framebuffer显示video,ubuntu,ffmpeg,linux

使用fbgrab截图,可以看到这样的效果。如果系统中没有安装 fbgrab 工具,则需要先进行安装。文章来源地址https://www.toymoban.com/news/detail-699186.html

到了这里,关于ubuntu上ffmpeg使用framebuffer显示video的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mir 2.14 正式发布,Ubuntu 使用的 Linux 显示服务器

    Canonical 公司最近发布了 Mir 2.14,这是该项目的最新版本。 Mir 2.14 在 Wayland 方面通过 ext-session-lock-v1 协议增加了对屏幕锁定器 (screen lockers) 的支持,并最终支持 Wayland 拖放。此外还整合了渲染平台的实现,放弃了之前在 Raspberry Pi 设备上使用的 DispmanX 平台。 Mir 2.14 还增加了对

    2024年02月14日
    浏览(34)
  • 使用【Blob、Base64】两种方式显示【文本、图片、视频】 & 使用 video 组件播放视频

    Blob 对象的类型是由 MIME 类型(Multipurpose Internet Mail Extensions)来确定的。MIME 类型是一种标准,用于表示文档、图像、音频、视频等多媒体文件的类型。以下是一些常见的 Blob 对象类型: text/plain :纯文本文件。 text/html :HTML文件。 text/xml :XML文件。 image/png :PNG格式的图像

    2024年02月03日
    浏览(48)
  • 【解决】uniapp使用video标签在浏览器调试正常,安卓真机、手机上显示小黑块,无法正常显示

    【问题】 uniapp中使用video标签展示视频,在浏览器展示正常,但是运行到安卓真机、或者手机上显示小黑块,无法正常显示 示例代码如下: 展示效果如下: 【解决】 不在 template 标签内直接使用 video 标签,而是使用 v-html 渲染html元素,绑定一个videoHtm方法,返回需要的html元

    2024年02月04日
    浏览(140)
  • ffmpeg rtp发送video和audio并播放

    发送h264 video 执行这条命令,如上SDP端,默认会生成SDP信息输出,单独播放很简单,复制前面的sdp信息到a.sdp(也可以直接在命令后跟 v.sdp 符号生成 v.sdp 文件),然后就可以用命令直接播放,指定codec参数后,会经过重新编码发送。 ffplay后直接跟 rtp://127.0.0.1:5006 的url播放是不可

    2024年02月11日
    浏览(42)
  • FFmpeg&Video DownloadHelper下载网页HLS流视频

    获取视频的流媒体地址:    如果是Edge浏览器,直接在拓展市场搜索Video DownloadHelper; 如果是Chrome或Chrome为核的浏览器(如我使用的vivaldi),可以下载我上传的资源,解压后,在vivaldi://extensions/(如果是Chrome则是chrome://extensions/)加载已解压的扩展程序,Video DownloadHelper就成功

    2024年02月11日
    浏览(49)
  • 第2课 使用FFmpeg读取rtmp流并用openCV显示视频

     本课对应源文件下载链接: https://download.csdn.net/download/XiBuQiuChong/88680079 这节课我们开始利用ffmpeg和opencv来实现一个rtmp播放器。播放器的最基本功能其实就两个:显示画面和播放声音。在实现这两个功能前,我们需要先用ffmpeg连接到rtmp服务器,当然也可以打开一个文件。 1.压

    2024年02月04日
    浏览(40)
  • stable-diffussion-webui+sd-webui-text2video+SadTalker数字人生产力工具安装配置教程(Linux Ubuntu,避坑帖)

            虽然网络上已经有很多类似的文章,但是讲linux 上通过 stable-diffussion-webui整合各类生产力插件的还比较少,而且亲测有效的更是凤毛菱角。为了帮助大家避坑,笔者特意利用休息的时间写了这篇文章。力求让小白玩家也能够上手。         在linux整合stable-difussion有

    2024年02月05日
    浏览(43)
  • 在Ubuntu虚拟机使用ffmpeg采集摄像头的yuv视频数据

    提取命令: ./cl.mp4为当前目录下的cl.mp4视频文件 -an其中a代表是audio,n代表是none,意思就是过滤掉音频 -c:v代表的是视频的编解码器 rawvideo代表我们使用rawvideo这个工具对视频进行处理 -pix_fmt yuv420p表示我们指定输出yuv视频的格式,这里我们指定为yuv420p 最后一个就是我们输出

    2023年04月11日
    浏览(78)
  • linux 入门(七)-ffmpeg使用

    ubuntu下安装ffmpeg: 转码视频格式只需要执行下面的命令即可: 输出如下: 指定尺寸 原视频1280x720, 大小3.3m, 修改后720x360 ,大小1.5M. 修改帧率 原视频帧率60, 大小3.3M. 修改帧率为20后, 大小为2.9M 限定视频大小 该命令会限制输出文件的大小为1MB. 但是-fs参数并不会保证输出的文件在

    2024年03月09日
    浏览(36)
  • 2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。

    2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。 答案2023-05-04: 这段代码实现了使用 libswscale 库进行视频缩放的功能。下面是程序的主要流程: 1.获取命令行参数,包括输出文件名和目标图像大小。 2.解析目标图像大小,生成指定大小的输出

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包