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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值