20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开

sync
poweroff

root@ok3588:/# sync
root@ok3588:/# sync
root@ok3588:/# cd 107
root@ok3588:/107# ls -l
total 0
root@ok3588:/107# sync
root@ok3588:/107# poweroff


20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开
2025/3/4 10:58


缘起:在飞凌的OK3588-C的Linux R4下使用gstreamer录像。
以前录像15秒/半小时,直接通过adb拿到电脑上都是正常的。
但是现在需要批量测试机芯。于是每一款机芯录像2分钟之后马上断电,4款机芯都录像完成之后统一拷贝到TF卡。
结果发现几乎一般的mp4视频异常了。
有体积/大小,但是不能播放。

解决方法:录像完成之后,不要马上断电,执行sync几次。
之后使用poweroff关机。这样得到的mp4视频100%是正常的了。


@程帅?有没有客户报告用gstreamer给相机/机芯录像。录像文件打不开片【录像的时候同时在HDMI显示器显示,显示是正常的】

录像指令:9500
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=7200 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=105#7200-9500-1080p60.mp4 t. ! queue ! waylandsink


录像105 405 9500 9520机芯,9500异常/打不开。直接使用gstreamer播放emmc储存的视频也异常。【非adb拿到电脑的问题】

测试步骤。2分钟录像。断电,换机芯。


2分钟录像之后 直接断电,会不会存在 写盘/EMMC不及时,丢数据了?

正常流程肯定是要接解除文件占用再断电的

否则文件确实有可能丢 这个东西的测试 多次测同一个摄像头就行

以前都是测试10s左右?要不就是测试半小时的!


这样操作之后,发现一个很神奇的现象,使用gstreamer录像的机芯很多文件【4个机芯,2个打不开】打不开了。异常概率:50%
我不知道是否是这个原因。
以前从来没有出现这个现象的!

在emmc中直接使用gstreamer播放测试。确认是录像的过程中已经损坏。

录像指令:


105 30*60*2=3600
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=3600 ! video/x-raw,format=NV12, width=2560,height=1440 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=101#3600-105-1440p30.mp4 t. ! queue ! waylandsink

405 60*60*2=7200
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=7200 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=101#7200-405-1080p60.mp4 t. ! queue ! waylandsink

9500
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=7200 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=101#7200-9500-1080p60.mp4 t. ! queue ! waylandsink

9520 60*60*2=7200
gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=7200 ! video/x-raw,format=NV12, width=1920,height=1080 ! tee name=t ! queue ! mpph264enc ! queue ! h264parse ! qtmux ! filesink location=101#7200-9520-1080p60.mp4 t. ! queue ! waylandsink


播放指令:gst-launch-1.0 filesrc location=1.mp4 ! qtdemux ! queue ! h264parse ! mppvideodec ! waylandsink "render-rectangle=<0,0,1920,1080>"

root@ok3588:/# ls -l
total 96
drwxr-xr-x   2 root root  4096 Jan  1  1970 103
drwxr-xr-x   2 root root  4096 Jan  1  1970 111
drwxr-xr-x   2 root root  4096 Jan  1  1970 113
drwxr-xr-x   2 root root  4096 Jan  1  1970 116
drwxr-xr-x   2 root root  4096 Jan  1  1970 117
drwxr-xr-x   2 root root  4096 Jan  1  1970 120
drwxr-xr-x   2 root root  4096 Mar  9  2023 bin
-rw-r--r--   1 root root   351 Mar  9  2023 busybox.fragment
lrwxrwxrwx   1 root root     8 Mar  9  2023 data -> userdata
drwxr-xr-x  14 root root  3800 Jan  1 08:00 dev
drwxr-xr-x  23 root root  4096 Jan  1 08:00 etc
drwxr-xr-x   4 root root  4096 Jan  1 08:00 home
drwxr-xr-x   6 root root  4096 Aug 17  2023 lib
lrwxrwxrwx   1 root root     3 Mar  9  2023 lib64 -> lib
lrwxrwxrwx   1 root root    11 Mar  9  2023 linuxrc -> bin/busybox
drwx------   2 root root 16384 Mar  9  2023 lost+found
drwxr-xr-x  14 root root  4096 Mar  9  2023 media
lrwxrwxrwx   1 root root    23 Mar  9  2023 misc -> /dev/block/by-name/misc
drwxr-xr-x   4 root root  4096 Mar  9  2023 mnt
drwxr-xr-x   3 root root  4096 Aug  6  2024 oem
drwxr-xr-x   2 root root  4096 Mar  9  2023 opt
dr-xr-xr-x 277 root root     0 Jan  1 08:00 proc
drwx------   2 root root  4096 Mar  9  2023 root
drwxr-xr-x   7 root root   340 Jan  1 08:00 run
drwxr-xr-x   2 root root  4096 Sep 14  2023 sbin
lrwxrwxrwx   1 root root    10 Mar  9  2023 sdcard -> mnt/sdcard
dr-xr-xr-x  14 root root     0 Jan  1 08:00 sys
drwxrwxrwt   7 root root   400 Jan  1 08:00 tmp
lrwxrwxrwx   1 root root     9 Mar  9  2023 udisk -> mnt/udisk
drwxr-xr-x   5 root root  4096 Jan  1 08:00 userdata
drwxr-xr-x  11 root root  4096 Sep 14  2023 usr
drwxr-xr-x   5 root root  4096 Mar  9  2023 var
root@ok3588:/# cd 103
root@ok3588:/103# ls -l
total 906676
-rw-r--r-- 1 root root         0 Jan  1  1970 103#3600-105-1440p30.mp4
-rw-r--r-- 1 root root 207202126 Jan  1  1970 103#3600-105-1440p30xin.mp4
-rw-r--r-- 1 root root 233480459 Jan  1  1970 103#7200-405-1080p60.mp4
-rw-r--r-- 1 root root 253666012 Jan  1  1970 103#7200-9500-1080p60.mp4
-rw-r--r-- 1 root root 234076281 Jan  1  1970 103#7200-9520-1080p60.mp4
root@ok3588:/103# 
root@ok3588:/103# 
ueue ! waylandsinkse ! qtmux ! filesink location=103#3600-105-1440p30.mp4 t. ! q 
Setting pipeline to PAUSED ...
Using mplane plugin for capture 
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:02:00.113722276
Setting pipeline to NULL ...
Freeing pipeline ...
root@ok3588:/103# sync
root@ok3588:/103# sync
root@ok3588:/103# ls -l
total 1109108
-rw-r--r-- 1 root root 207282496 Jan  1 08:02 103#3600-105-1440p30.mp4
-rw-r--r-- 1 root root 207202126 Jan  1 08:02 103#3600-105-1440p30xin.mp4
-rw-r--r-- 1 root root 233480459 Jan  1 08:02 103#7200-405-1080p60.mp4
-rw-r--r-- 1 root root 253666012 Jan  1  1970 103#7200-9500-1080p60.mp4
-rw-r--r-- 1 root root 234076281 Jan  1 08:02 103#7200-9520-1080p60.mp4
root@ok3588:/103# 
root@ok3588:/103# 
root@ok3588:/103# cd /run/media/mmcblk1p1/
root@ok3588:/run/media/mmcblk1p1# ls -l
total 55200
drwxr-xr-x 2 root root    32768 Jan 15  2025  Alarms
drwxr-xr-x 4 root root    32768 Dec 10  2024  Android
drwxr-xr-x 2 root root    32768 Jan 15  2025  Audiobooks
drwxr-xr-x 2 root root    32768 Jan 15  2025  DCIM
drwxr-xr-x 2 root root    32768 Jan 15  2025  Documents
drwxr-xr-x 2 root root    32768 Jan 15  2025  Download
drwxr-xr-x 2 root root    32768 Jan  7  2025  LOST.DIR
drwxr-xr-x 3 root root    32768 Dec 10  2024  Movies
drwxr-xr-x 3 root root    32768 Dec 10  2024  Music
drwxr-xr-x 2 root root    32768 Jan 15  2025  Notifications
drwxr-xr-x 3 root root    32768 Dec 10  2024  Pictures
drwxr-xr-x 2 root root    32768 Jan 15  2025  Podcasts
-rwxr-xr-x 1 root root 56008000 Jan  7  2025 'QGroundControl64 (1).apk'
drwxr-xr-x 2 root root    32768 Jan 15  2025  Recordings
drwxr-xr-x 2 root root    32768 Jan 15  2025  Ringtones
drwxr-xr-x 2 root root    32768 Dec 10  2024 'System Volume Information'
-rwxr-xr-x 1 root root        0 Jan  1  1980  tes.txt
-rwxr-xr-x 1 root root        0 Jan  1  1980  test.txt
root@ok3588:/run/media/mmcblk1p1# cp /103/ . -rf
root@ok3588:/run/media/mmcblk1p1# cd /
root@ok3588:/# sync
root@ok3588:/# sync
root@ok3588:/# poweroff

root@ok3588:/# Stopping input-event-daemon: 
input-event-daemon: Exiting...
done
Stopping dnsmasq: FAIL
Stopping vsftpd: stopped /usr/sbin/vsftpd (pid 1466)
OK
Stopping sshd: killall: sshd: no process killed
OK
Stopping pulseaudio: OK
stop finishedStopping lighttpd: OK
Stopping dropbear sshd: OK
## Error: "secondary_display" not defined
stoping weston... [08:07:50.841] caught signal 15
[08:07:50.842] destroy output while page flip pending
[08:07:50.842] background surface gone
done.
[08:07:50.844] event2  - adc-keys: device removed
killall: rkaiq_3A_server: no process killed
Stopping network: [08:07:50.910] event0  - rk805 pwrkey: device removed
OK
[08:07:50.971] destroy output while page flip pending
Stopping bluetoothd: OK
Stopping iptables: [08:07:50.995] destroy output while page flip pending
[08:07:50.995] Output 'HDMI-A-1' no heads left, disabling.
OK
Stopping system message bus: done
Saving random seed: OK
/usr/bin/modetest
Stopping klogd: OK
Stopping syslogd: OK
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system poweroff
[  477.195707] reboot: Power down


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28702.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安路FPGA移植Cortex-M0内核

本文是关于基于安路FPGA EG4S20BG256移植Cortex M0内核的笔记。硬件平台使用硬木课堂的安路核心板&#xff0c;软件使用安路的TD5.6.2和keil5。&#xff08;博主刚学FPGA不久&#xff0c;文中有不足之处请帮忙指出&#xff09; 在移植之前&#xff0c;博主看了网上很多的文章、…

STM32——串口通信 UART

一、基础配置 Universal Asynchronous Receiver Transmitter 异步&#xff0c;串行&#xff0c;全双工 TTL电平 &#xff1a;高电平1 低电平0 帧格式&#xff1a; 起始位1bit 数据位8bit 校验位1bit 终止位1bit NVIC Settings一栏使能接受中断。 之前有设置LCD&#xff0c;…

flink集成tidb cdc

Flink TiDB CDC 详解 1. TiDB CDC 简介 1.1 TiDB CDC 的核心概念 TiDB CDC 是 TiDB 提供的变更数据捕获工具&#xff0c;能够实时捕获 TiDB 集群中的数据变更&#xff08;如 INSERT、UPDATE、DELETE 操作&#xff09;&#xff0c;并将这些变更以事件流的形式输出。TiDB CDC 的…

DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元

背景 在全球人工智能技术高速迭代的背景下&#xff0c;算力成本高企、异构资源适配复杂、模型部署效率低下等问题&#xff0c;始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点&#xff0c;而博云先进算力管理平台AIOS的全面适配&#xff0c;则为这一技术…

ArcGIS Pro建库中常用公式的应用与技巧

在当今数字化的时代&#xff0c;地理信息系统&#xff08;GIS&#xff09;在各个领域都发挥着至关重要的作用。 ArcGIS Pro作为一款功能强大的GIS软件&#xff0c;为用户提供了丰富的工具和功能&#xff0c;使得数据处理、地图制作和空间分析变得更加高效和便捷。 本文将为您…

C++入门基础

文章目录 C核心特性详解&#xff08;基础增强版&#xff09;一、第一个C程序&#xff1a;Hello World完整代码解析新手常见问题 二、命名空间&#xff08;详解版&#xff09;1. 为什么需要命名空间&#xff1f;2. 命名空间使用场景3. 嵌套命名空间4. 匿名命名空间 三、输入输出…

探秘基带算法:从原理到5G时代的通信变革【三】Turbo 编解码

文章目录 2.2 Turbo 编解码2.2.1 基本概念与系统构成2.2.2 编码过程分步解析交织器递归系统卷积编码器复接器总结 2.2.3 译码算法分类与原理Turbo码的强大主要来源于其解码器理论基础解码过程详解交织与解交织译码算法总结 2.2.4 Turbo码的应用场景无线通信卫星通信深空通信 2.…

一键无损放大视频,让老旧画面重焕新生!

打工人们你们好&#xff01;这里是摸鱼 特供版~ 嘿&#xff0c;朋友们&#xff01;在数字时代&#xff0c;视频已经成为我们生活中不可或缺的一部分。无论是珍贵的家庭录像&#xff0c;还是老旧的影视素材&#xff0c;我们都希望能以高清画质重温那些美好瞬间。但很多时候&…

build gcc

1&#xff0c;下载源码 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz git clone --mirror https://github…

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏&#xff1f;本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏&#xff01;包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点&#xff0c;文末提供完整代码包下载&#xff01;" 哈…

AutoGen学习笔记系列(一)Tutorial - Model

这个系列文章记录了学习微软 AutoGen 的过程&#xff0c;与 smolagents 学习笔记系列一样&#xff0c;仍然以官方教程自己的理解为主线&#xff0c;中间可能穿插几个番外支线的形式写博客。 【注意】&#xff1a;在阅读这篇文章之前需要确保已经按照其 Installation 小节完成必…

探秘基带算法:从原理到5G时代的通信变革【八】QAM 调制 / 解调

文章目录 2.7 QAM 调制 / 解调2.7.1 概述2.7.2 星座图星座图的结构与性能发射端的信息编码与接收端的解码差分编码的分类与实现差分编码的模4格雷加法器公式16QAM星座图与映射关系 2.7.3 信号表达式正交振幅调制的基本原理与系统分析相位误差对QAM性能的影响多电平正交振幅调制…

本地YARN集群部署

请先完成HDFS的前置部署&#xff0c;部署方式可查看:本地部署HDFS集群https://blog.csdn.net/m0_73641796/article/details/145998092?spm1001.2014.3001.5502 部署说明 组件配置文件启动进程备注Hadoop HDFS需修改 需启动: NameNode作为主节点 DataNode作为从节点 Secondary…

vivado 充分利用 IP 核

充分利用 IP 核 使用预先验证的 IP 核能够大幅减少设计和验证工作量&#xff0c;从而加速产品上市进程。如需了解更多有利用 IP 的信息&#xff0c;请参 阅以下资源&#xff1a; • 《 Vivado Design Suite 用户指南&#xff1a;采用 IP 进行设计》 (UG896) [ 参照 1…

Python-07PDF转Word

2025-03-04-PDF转Word DeepSeek等大模型从来都不是简单的写一个静态博客这么肤浅&#xff08;太多博主都只讲这个内容了&#xff09;借助全网大神的奇思妙想&#xff0c;拓展我狭隘的思维边界。 文章目录 2025-03-04-PDF转Word [toc]1-参考网址2-学习要点3-核心逻辑4-核心代码 …

android11使用gpio口控制led状态灯

目录 一、简介 二、解决方法 A、底层驱动 B、上层调用 C、验证 一、简介 1、需求&#xff1a;这里是用2个gpio口来控制LED灯&#xff0c;开机时默认亮蓝灯&#xff0c;按开机键&#xff0c;休眠亮红灯&#xff0c;唤醒亮蓝灯。 原理图&#xff1a; 这里由于主板上电阻R63…

el-input 设置类型为number时,输入中文后光标会上移,并且会出现上下箭头

光标上移 设置 el-input 的 typenumber后&#xff0c;只能输入数字&#xff0c;输入中文后会自动清空&#xff0c;但是会出现一个问题&#xff1a;【光标会上移&#xff0c;如下图】 解决方法&#xff1a;修改样式 注意&#xff1a;需要使用样式穿透 :deep( ) /*解决el-in…

el-table一格两行;概率;find

样式&#xff1a; 根据概率表头关键代码&#xff1a;rateRanges&#xff1b; scope.row.targetHitTable.find((target:any) > target.targetHitRate > range.min && target.targetHitRate < range.max)!.targetHitNum &#xff08;1&#xff09;!.是TypeScri…

CSS定位详解上

1. 相对定位 1.1 如何设置相对定位&#xff1f; 给元素设置 position:relative 即可实现相对定位。 可以使用 left 、 right 、 top 、 bottom 四个属性调整位置。 1.2 相对定位的参考点在哪里&#xff1f; 相对自己原来的位置 1.3 相对定位的特点&#xff1…

二、Java-封装playwright UI自动化(根据官网执行步骤,首先封装BrowserFactory枚举类及BrowserManager)

前言 查看playwright官网&#xff0c;api文档了解到&#xff0c;playwright的基本步骤&#xff1a; 1、实例化一个playwright 2、启动一个浏览器类型 3、打开一个页面 所以&#xff0c;在封装时需要有一个浏览器工厂类&#xff0c;定义不同的浏览器类型&#xff0c;在配置文…