当前位置: 首页 > news >正文

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


相关文章:

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

sync poweroff rootok3588:/# sync rootok3588:/# sync rootok3588:/# cd 107 rootok3588:/107# ls -l total 0 rootok3588:/107# sync rootok3588:/107# poweroff 20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开 2025/3/4 10:58 缘起&#xff1a…...

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…...

【每日论文】How far can we go with ImageNet for Text-to-Image generation?

下载PDF或查看论文&#xff0c;请点击&#xff1a;LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory 摘要 近年来&#xff0c;通过在大规模数据集上训练&#xff0c;文本到图像&#xff08;T2I&#xff09;生成模型已经取得了显著成果&a…...

STM32 两个单片机之间的通信

STM32 两个单片机之间的通信 原创 HS 平凡灵感码头 2025年03月04日 11:25 广东 以上我们就是有A B两个板子来进行通信&#xff0c;A板将接收按键的键值&#xff0c;然后发送给B板&#xff0c;B板接收键值&#xff0c;然后判断键值控制LED翻转&#xff0c;然后把键值按字符形式…...

Linux 下使用traceroute来进行网络诊断分析

简介 traceroute 命令是一种网络诊断工具&#xff0c;用于跟踪数据包从系统到目标服务器的路径。它有助于识别网络延迟和路由问题。 安装 Debian/Ubuntu sudo apt install traceroute -yRHEL/CentOS sudo yum install traceroute -yFedora sudo dnf install traceroute -…...

基于vue框架的游戏商城系统cq070(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,分类,商品信息,游戏高手,游戏代练 开题报告内容 基于Vue框架的游戏商城系统开题报告 一、研究背景与意义 随着互联网技术的飞速发展和游戏产业的蓬勃兴起&#xff0c;游戏商城作为游戏产业链中的重要一环&#xff0c;迎来了前所…...

SpringBoot接入DeepSeek(硅基流动版)+ 前端页面调试(WebSocket连接模式)

文章目录 前言正文一、项目环境二、项目代码2.1 pom.xml2.2 DeepSeekController.java2.3 启动类2.4 logback-spring.xml2.5 application.yaml2.6 WebsocketConfig.java2.7 AiChatWebSocketHandler.java2.8 SaveChatSessionParamRequest.java2.9 index.html 三、页面调试3.1 主页…...

idea实现热部署

1.在pom.xml文件添加依赖 java <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency> 更新可见配置成功&#xff1a; 2.在appli…...

记一次误禁用USB导致键盘鼠标失灵的修复过程

背景说明 在电脑上插入了一个USB hub&#xff0c;然后弹窗提示&#xff1a;“集线器端口上出现电涌”&#xff0c;点开让选择“重置”或者“关闭”&#xff0c;不小心点了关闭&#xff0c;结果这个usb口就被关了&#xff0c;再插任何东西都没反应&#xff0c;找了很多办法都恢…...

0x03 http协议和分层架构

HTTP协议 简介 Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 http协议基于TCP协议&#xff1a;面向连接&#xff0c;安全基于请求-响应模型&#xff1a;一次请求对应一次响应HTTP协议是无状态的协议&#xff…...

【leetcode hot 100 189】轮转数组

错误解法一&#xff1a;申请一个数组&#xff0c;第i个数放在新数组的ik或ik-nums.length上 class Solution {public void rotate(int[] nums, int k) {int[] resultsnew int[nums.length];for(int i0; i<nums.length; i){if(ik<nums.length){results[ik] nums[i];}els…...

医药行业哪些招聘管理系统有AI功能?

随着医药行业竞争加剧&#xff0c;企业对高端研发、临床、市场人才的需求日益迫切。传统招聘模式因效率低、成本高、匹配度不足等问题&#xff0c;已难以满足行业需求。2025年&#xff0c;以AI为核心的招聘管理系统成为解决痛点的关键工具。 一、医药行业招聘的痛点与AI解决方案…...

.net8 使用 license 证书授权案例解析

创建 webapi 项目 使用 .NET CLI 创建一个 ASP.NET Core Web API 应用&#xff0c;并添加指定的 NuGet 包&#xff0c;可以按照以下步骤操作&#xff1a; 创建 ASP.NET Core Web API 项目&#xff1a; dotnet new webapi -n WebAppLicense cd WebAppLicense添加 Standard.Li…...

golang的io

https://www.bilibili.com/video/BV1gx4y1r7xb 1. 原生io包 io包是Go语言标准库中底层的I/O接口层&#xff0c;定义了通用的读写规则和错误处理逻辑。每次读写都是直接调用底层系统 I/O&#xff0c;每次读取1字节&#xff0c;系统调用次数多。适用于小数据量、实时性要求高。i…...

全向广播扬声器在油气田中的关键应用 全方位守护安全

油气田作为高风险作业场所&#xff0c;安全生产始终是重中之重。在紧急情况下&#xff0c;如何快速、有效地传达信息&#xff0c;确保人员安全撤离&#xff0c;是油气田安全管理的关键环节。全向广播扬声器凭借其全方位覆盖、高音质输出和强大的环境适应性&#xff0c;成为油气…...

76.读取计时器运行时间 C#例子 WPF例子

TimerManager&#xff1a;一个增强的定时器类&#xff0c;带时间管理功能 在使用定时器时&#xff0c;我们常常需要知道定时器的运行状态&#xff0c;比如它已经运行了多久&#xff0c;或者还剩下多少时间。然而&#xff0c;.NET 的 System.Timers.Timer 类本身并没有直接提供…...

嵌入式开发:傅里叶变换(5):基于STM32,实现CMSIS中的DSP库

目录 步骤 1&#xff1a;准备工作 步骤 2&#xff1a;创建 Keil 项目&#xff0c;并配置工程 步骤 3&#xff1a;在MDK工程上添加 CMSIS-DSP 库 步骤 5&#xff1a;编写代码 步骤 6&#xff1a;配置时钟和优化 步骤 7&#xff1a;调试与验证 步骤 8&#xff1a;优化和调…...

探秘基带算法:从原理到5G时代的通信变革【六】CRC 校验

文章目录 2.5 CRC 校验2.5.1 前言2.5.2 CRC算法简介2.5.3 CRC计算的详细过程2.5.4 CRC校验的两种方法详解**分离比较法****整体运算法****不同位出错与余数的关系****总结** 2.5.5 CRC计算的C实现及工具介绍**C实现CRC计算****CRC计算工具推荐** **2.5.6 总结&#xff1a;CRC校…...

MySQL——DQL、多表设计

目录 一、DQL 1.基本查询 2.条件查询 3.分组查询 4.排序查询 5.分页查询 二、多表设计 1.一对多 2.一对一 3.多对多 一、DQL 1.基本查询 注意&#xff1a; *号代表查询所有字段&#xff0c;在实际开发中尽量少用&#xff08;不直观、影响效率&#xff09; 2.条件查询…...

XML 编辑器:全面指南与最佳实践

XML 编辑器:全面指南与最佳实践 引言 XML(可扩展标记语言)编辑器是处理XML文件的关键工具,对于开发人员、系统管理员以及任何需要处理XML数据的人来说至关重要。本文将全面介绍XML编辑器的概念、功能、选择标准以及最佳实践,旨在帮助读者了解如何选择和使用合适的XML编辑…...

2026 工程指南:为什么 AWS Bedrock + Claude 4.6 正在成为多 Agent 协作的底层首选?

进入 2026 年第一季度&#xff0c;大模型领域的竞争已经从“单纯的参数规模”转向了“端到端的工程效率”。随着 GPT-5.4 陷入推理成本高企的泥潭&#xff0c;Anthropic 联手亚马逊发布的 Claude 4.6 托管方案&#xff0c;正在通过 Amazon Bedrock 平台迅速收割企业级市场。作为…...

MoveIt Config 配置文件完整一致性检查

检查范围&#xff08;全部核对完毕&#xff09;ros2_control xacro&#xff08;硬件接口 / 关节&#xff09;initial_positions.yaml&#xff08;初始位置&#xff09;srdf&#xff08;运动组 / 关节&#xff09;joint_limits.yaml&#xff08;关节限制&#xff09;kinematics.…...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘&#xff1a;从表面诉求到核心痛点的五步法---上周调一个嵌入式项目&#xff0c;客户说“设备偶尔会死机&#xff0c;重启就好”。我们查了三天的日志&#xff0c;发现是内存泄漏。但真正的问题是什么&#xff1f;是代码质量&#xff1f;不完全是。最后…...

数据稠密计算的算法优化:从理论到实践

数据稠密计算的算法优化&#xff1a;从理论到实践 引言 作为一名在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我见过太多因为算法选择不当导致的性能问题。在数据稠密计算中&#xff0c;算法的选择和优化是提升计算性能的关键因素之一。今天&#xff0c;我们来聊聊数据稠密…...

AI 模型推理框架性能分析与对比

AI模型推理框架性能分析与对比 随着人工智能技术的快速发展&#xff0c;AI模型推理框架成为支撑各类应用落地的核心工具。无论是计算机视觉、自然语言处理还是推荐系统&#xff0c;高效的推理框架直接影响模型的响应速度、资源占用和部署成本。本文将从多个维度对比主流AI推理…...

2026年3月27日NSSCTF之[SWPUCTF 2021 新生赛]ez_unserialize

[SWPUCTF 2021 新生赛]ez_unserialize 开启环境&#xff0c;进入并查看&#xff0c;可以看到一个动图&#xff0c;选择查看网页源码&#xff0c;得到 看到有隐藏信息&#xff0c;根据隐藏信息可以猜测&#xff0c;可以利用robots协议查看相关信息&#xff0c;访问得到 可以得…...

OpenClaw自动化测试:Qwen3.5-9B在API接口校验中的实战应用

OpenClaw自动化测试&#xff1a;Qwen3.5-9B在API接口校验中的实战应用 1. 为什么选择OpenClaw做接口自动化测试 去年接手一个个人项目时&#xff0c;我遇到了接口测试的痛点&#xff1a;每次后端更新都要手动验证几十个API&#xff0c;不仅耗时还容易遗漏边缘case。尝试过Pos…...

Django REST framework的应用场景

目录一、鉴权开发框架介绍二、Django REST framework是什么三、如何实现认证、权限与限流功能四、Django REST framework的应用场景一、鉴权开发框架介绍 鉴权开发框架是一种用于实现身份验证和授权的软件开发工具。它可以帮助开发者快速构建安全、可靠的身份验证和授权系统&a…...

从串口通信到内存总线:手把手拆解‘波特率’、‘比特率’与‘总线带宽’的异同与实战计算

从串口通信到内存总线&#xff1a;深度解析波特率、比特率与总线带宽的实战差异 在嵌入式开发和计算机体系结构领域&#xff0c;数据传输速率的计算是工程师日常工作中无法绕开的基础技能。但令人困惑的是&#xff0c;同样的"速率"概念在不同场景下却有着完全不同的…...

保姆级教程:用Docker快速搭建一个可复现的Hive测试环境(专治各种启动报错)

从零构建可复现的Hive沙箱&#xff1a;Docker Compose全流程避坑指南 每次调试Hive时遇到FAILED: HiveException或metastore连接问题&#xff0c;是否感觉像在破解一个没有说明书的密码锁&#xff1f;传统环境配置的不可复现性让问题排查变成一场噩梦。本文将带你用Docker技术…...