Firefly开源社区

标题: ffmedia无法正常调用 [打印本页]

作者: sky-brid    时间: 2023-11-13 17:28
标题: ffmedia无法正常调用
调用ffmedia直接报错,缺少文件:
import ff_pymedia as m
ImportError: libfdk-aac.so.1: cannot open shared object file: No such file or directory

尝试了2.0,2.1和2.2版,都不行,在rk3588主板上能正常使用ffmedia
tchip_askquestions

error.rar

178 Bytes, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1


作者: dengkx    时间: 2023-11-15 17:29
看下demo/Readme.md的环境配置安装对应依赖包
作者: sky-brid    时间: 2023-11-23 14:55
dengkx 发表于 2023-11-15 17:29
看下demo/Readme.md的环境配置安装对应依赖包

重新安装之后可以使用ffmedia读书取rtsp流,虽然图像的宽带比摄像头上的设定的多8像素,但是最起码能可以看到画面,重启设备之后,跑一模一样的demo,显示的画面就全黑了,而且输出的图像宽度还是多了8
作者: wuyq    时间: 2024-2-22 20:00
dengkx 发表于 2023-11-15 17:29
看下demo/Readme.md的环境配置安装对应依赖包

参照【看下demo/Readme.md的环境配置安装对应依赖包】执行完成;
目前现象:
使用【./demo rtsp://admin:firefly123@168.168.2.143 --rtsp_transport tcp -o 1280x720 -d 0 -r 90 -s 】修改了具体流信息,rk3568pc盒子重启后,命令行使用su,执行上述命令,目前打印输出
  1. Firefly FFMedia: v2.2.3
  2. input source is a rtsp url
  3. INFO: ff_media: connectToServer: connected to server 192.168.8.216:554
  4. INFO: 16ModuleRtspClient: init: rtsp para w h: 3840 2160, ws hs: 3840 2160, format: H265
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. INFO: 10MppDecoder: getTimeoutSample: 0x26419580 frame info changed 1 error 0 discard 0
  7. [0 0 0 ... 0 0 0]
  8. ==================Pipe===================
  9. ModuleRtspClient (H265 3840x2160)
  10.    |--->ModuleMppDec (NV12 3840x2160)
  11.            |--->ModuleRga (BGR24 1280x720)
  12.                    |--->�a (Unknow V4L2 Format 0x0)
  13. wait...[0 0 0 ... 0 0 0]
复制代码

其中【[0 0 0 ... 0 0 0]】为cv2_extcall_back函数下【print(str(MediaBuffer.getActiveData()))】结果,黑屏。请大神指导~
作者: wuyq    时间: 2024-2-22 20:03
本帖最后由 wuyq 于 2024-2-23 09:33 编辑
wuyq 发表于 2024-2-22 20:00
参照【看下demo/Readme.md的环境配置安装对应依赖包】执行完成;
目前现象:
使用【./demo rtsp://admi ...

继续在rk3568pc盒子中使用pycharm打开demo.py文件,修改【print(str(MediaBuffer.getActiveData()))】输出位置,并使用pycharm启动代码,命令参数不变,输出结果
  1. Firefly FFMedia: v2.2.3
  2. input source is a rtsp url
  3. INFO: ff_media: connectToServer: connected to server 192.168.8.216:554
  4. INFO: 16ModuleRtspClient: init: rtsp para w h: 3840 2160, ws hs: 3840 2160, format: H265
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. INFO: 10MppDecoder: getTimeoutSample: 0x39143580 frame info changed 1 error 0 discard 0
  7. [147   0 171 ...   0 252   6]
  8. [151 152 151 ... 142 140 133]
  9. ==================Pipe===================
  10. ModuleRtspClient (H265 3840x2160)
  11.    |--->ModuleMppDec (NV12 3840x2160)
  12.            |--->ModuleRga (BGR24 1280x720)
  13.                    |--->���8 (Unknow V4L2 Format 0x0)
  14. [172 173 172 ... 142 140 133]
复制代码
cv2展示的内容正常,流也正常。
并且直接使用命令行也能正常输出了~~~

然后重启rk3568pc,直接启动pycharm,再次尝试,输出结果
  1. Firefly FFMedia: v2.2.3
  2. input source is a rtsp url
  3. INFO: ff_media: connectToServer: connected to server 192.168.8.216:554
  4. INFO: 16ModuleRtspClient: init: rtsp para w h: 3840 2160, ws hs: 3840 2160, format: H265
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. INFO: 10MppDecoder: getTimeoutSample: 0x26419580 frame info changed 1 error 0 discard 0
  7. [0 0 0 ... 0 0 0]
  8. ==================Pipe===================
  9. ModuleRtspClient (H265 3840x2160)
  10.    |--->ModuleMppDec (NV12 3840x2160)
  11.            |--->ModuleRga (BGR24 1280x720)
  12.                    |--->�a (Unknow V4L2 Format 0x0)
  13. wait...[0 0 0 ... 0 0 0]
复制代码
又又又又黑屏了。请大神指导~~~
并且直接使用命令行也无法正常输出了~~~


作者: dengkx    时间: 2024-2-23 11:33
wuyq 发表于 2024-2-22 20:03
继续在rk3568pc盒子中使用pycharm打开demo.py文件,修改【print(str(MediaBuffer.getActiveData()))】输 ...

你python不应该运行demo.py吗?看你运行的命令是c++的demo。
有问题提供复现条件,方便我这边复现。比如使用的命令、修改差异等等
作者: wuyq    时间: 2024-2-27 16:01
本帖最后由 wuyq 于 2024-2-27 16:19 编辑
dengkx 发表于 2024-2-23 11:33
你python不应该运行demo.py吗?看你运行的命令是c++的demo。
有问题提供复现条件,方便我这边复现。比如 ...

实际查看是rk3568pc-se板子;
第 1 步
  重新装机,安装py38环境
第 2 步
  按照ffmedia_release/demo/Readme.md,安装依赖库
第 3 步
  全局安装ffmedia_release/dist/ff_pymedia-2.2.3-cp38-cp38-linux_aarch64.whl
第 4 步
  将ffmedia_release/demo/demo.py放置rk3568pc-se板子xxx目录中
第 5 步
  执行命令“python3 demo.py -i rtsp://xxx:xxx@192.168.8.216:554/h264/ch1/main/av_stream -o 1280x720 -x 1”
现象【1】
  正常启动,输出摄像头流正常;
  1. Firefly FFMedia: v2.2.3
  2. input source is a rtsp url
  3. INFO: ff_media: connectToServer: connected to server 192.168.8.216:554
  4. INFO: 16ModuleRtspClient: init: rtsp para w h: 3840 2160, ws hs: 3840 2160, format: H265
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. INFO: 10MppDecoder: getTimeoutSample: 0x26419580 frame info changed 1 error 0 discard 0
  7. ==================Pipe===================
  8. ModuleRtspClient (H265 3840x2160)
  9.    |--->ModuleMppDec (NV12 3840x2160)
  10.            |--->ModuleRga (BGR24 1280x720)
  11.                    |--->�a (Unknow V4L2 Format 0x0)
复制代码

第 6 步
  重启rk3568pc-se,可视化界面reboot
第 7 步
  执行上述第 5 步操作
现象【2】
  正常启动,输出摄像头流异常,为绿屏或者黑屏,无数据;
  1. Firefly FFMedia: v2.2.3
  2. input source is a rtsp url
  3. INFO: ff_media: connectToServer: connected to server 192.168.8.216:554
  4. INFO: 16ModuleRtspClient: init: rtsp para w h: 3840 2160, ws hs: 3840 2160, format: H265
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. INFO: 10MppDecoder: getTimeoutSample: 0x26419580 frame info changed 1 error 0 discard 0
  7. ==================Pipe===================
  8. ModuleRtspClient (H265 3840x2160)
  9.    |--->ModuleMppDec (NV12 3840x2160)
  10.            |--->ModuleRga (BGR24 1280x720)
  11.                    |--->�a (Unknow V4L2 Format 0x0)
复制代码

控制台打印内容与现象【1】一致。
请大神指点~~~
作者: dengkx    时间: 2024-2-28 17:36
wuyq 发表于 2024-2-27 16:01
实际查看是rk3568pc-se板子;
第 1 步
  重新装机,安装py38环境

应该是环境问题,不要使用-x 1 使用-d 0  显示看看
作者: wuyq    时间: 2024-2-29 11:29
本帖最后由 wuyq 于 2024-2-29 11:43 编辑
dengkx 发表于 2024-2-28 17:36
应该是环境问题,不要使用-x 1 使用-d 0  显示看看

使用-d 0后仍然是黑屏,是否可以提供安装环境参数
系统安装包文件
py38安装包文件
按照您这边提供的资源,我这边刷机再试试。
机器是【Firefly RK3568-ROC-PC-SE HDMI (Linux)】



作者: dengkx    时间: 2024-2-29 11:58
wuyq 发表于 2024-2-29 11:29
使用-d 0后仍然是黑屏,是否可以提供安装环境参数
系统安装包文件
py38安装包文件

复现出问题,等几秒中按回车键退出,将退出的log过来看看。
或者不显示,使用 -e 0 -m out.mp4 编码保存文件,用ffplay播放或其他工具播放看正不正常?
作者: dengkx    时间: 2024-2-29 14:52
本帖最后由 dengkx 于 2024-2-29 15:58 编辑
wuyq 发表于 2024-2-27 16:01
实际查看是rk3568pc-se板子;
第 1 步
  重新装机,安装py38环境
播不出来也有可能是h265参考帧太多,导致解码不出数据,改大解码模块buffer数量可以解决这个问题:
diff --git a/demo/demo.py b/demo/demo.py
index 7ce3580..e269d06 100644
--- a/demo/demo.py
+++ b/demo/demo.py
@@ -143,6 +143,7 @@ def main():
         input_para.v4l2Fmt == m.v4l2GetFmtByName("H265"):
         dec = m.ModuleMppDec()
         dec.setProductor(last_module)
+        dec.setBufferCount(20)
         ret = dec.init()
         if ret < 0:
             print("dec init failed")


作者: wuyq    时间: 2024-2-29 15:57
本帖最后由 wuyq 于 2024-2-29 16:23 编辑
dengkx 发表于 2024-2-29 11:58
复现出问题,等几秒中按回车键退出,将退出的log过来看看。
或者不显示,使用 -e 0 -m out.mp4 编码保存 ...

目前尝试下述命令行,个人得出的结论:
① ffplay 花屏
② [-d 0][-x 1] -e 0 -m out.mp4;黑屏/绿屏,视频文件正常且有进度条
③ [-d 0][-x 1] -e 0 -f out.mp4;黑屏/绿屏,视频文件正常但无进度条
④ [-c 1] -b RGB24 -e 0 -m out.mp4;黑屏,视频文件也黑屏
需求:我需要回调函数能够返回正常的图片帧,然后用自研算法来分析图片~
麻烦看下下述具体流程:
-----20240229 14:00 启动下述命令,【现象】彩色花屏。按ctrl z or ctrl c退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# ffplay rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0
  2. [1] 2028
  3. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# ffplay version 4.2.4-1ubuntu1.0firefly3 Copyright (c) 2003-2020 the FFmpeg developers
  4.   built with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  5.   configuration: --prefix=/usr --extra-version=1ubuntu1.0firefly3 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libdrm --enable-librga --enable-rkmpp --enable-version3 --disable-libopenh264 --disable-vaapi --disable-vdpau --disable-decoder=h264_v4l2m2m --disable-decoder=vp8_v4l2m2m --disable-decoder=mpeg2_v4l2m2m --disable-decoder=mpeg4_v4l2m2m --enable-shared --disable-doc
  6.   libavutil      56. 31.100 / 56. 31.100
  7.   libavcodec     58. 54.100 / 58. 54.100
  8.   libavformat    58. 29.100 / 58. 29.100
  9.   libavdevice    58.  8.100 / 58.  8.100
  10.   libavfilter     7. 57.100 /  7. 57.100
  11.   libavresample   4.  0.  0 /  4.  0.  0
  12.   libswscale      5.  5.100 /  5.  5.100
  13.   libswresample   3.  5.100 /  3.  5.100
  14.   libpostproc    55.  5.100 / 55.  5.100
  15. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  16. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  17. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  18. Failed to initialize a hardware accelerated renderer: Couldn't find matching render driver
  19. Input #0, rtsp, from 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1':                                                
  20.   Metadata:
  21.     title           : Media Server
  22.   Duration: N/A, start: 0.000000, bitrate: N/A
  23.     Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 20 fps, 20 tbr, 90k tbn, 20 tbc
  24.     Stream #0:1: Audio: pcm_alaw, 8000 Hz, 1 channels, s16, 64 kb/s
  25. [hevc_rkmpp @ 0x7f8c05ba20] Decoder noticed an info change (1920x1080), format=0
  26. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  27. [swscaler @ 0x7f84004ae0] No accelerated colorspace conversion found from yuv420p to rgba.
  28. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  29. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  30. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  31. [rtsp @ 0x7f8c000ba0] max delay reached. need to consume packet/0   
  32. [rtsp @ 0x7f8c000ba0] RTP: missed 7 packets                                                                                               
  33. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  34.     Last message repeated 13 times                                                                                                        
  35. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0   
  36.     Last message repeated 25 times                                                                                                        
  37. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  38. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  39. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  40. ^C29.13 A-V:    nan fd=   2 aq=    7KB vq=  278KB sq=    0B f=0/0   
  41. ^C31.18 A-V:    nan fd=   2 aq=    7KB vq=  258KB sq=    0B f=0/0   an fd=   2 aq=    7KB vq=  281KB sq=    0B f=0/0   
  42. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  43. ^C33.69 A-V:    nan fd=   2 aq=    7KB vq=   59KB sq=    0B f=0/0   
  44. ^C33.98 A-V:    nan fd=   2 aq=    6KB vq=   63KB sq=    0B f=0/0   an fd=   2 aq=    7KB vq=   68KB sq=    0B f=0/0   
  45. ^C34.17 A-V:    nan fd=   2 aq=    7KB vq=  261KB sq=    0B f=0/0   an fd=   2 aq=    7KB vq=  299KB sq=    0B f=0/0   
  46. [rtsp @ 0x7f8c000ba0] max delay reached. need to consume packet/0   an fd=   2 aq=    7KB vq=  265KB sq=    0B f=0/0   
  47. [rtsp @ 0x7f8c000ba0] RTP: missed 32 packets                                                                                             
  48. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  49.     Last message repeated 6 times                                                                                                         
  50. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0   
  51.     Last message repeated 6 times                                                                                                         
  52. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0   
  53. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  54. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  55. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  56. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  57. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  58. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  59. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  60.     Last message repeated 1 times                                                                                                         
  61. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0   
  62. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  63. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  64. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  65. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  66. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  67. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  68. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  69. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  70. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  71. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  72. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  73. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  74. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  75. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  76. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  77. [hevc_rkmpp @ 0x7f8c05ba20] Received a errinfo frame.    0B f=0/0                                                                        
  78. XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
  79. free(): invalid pointer   2 aq=    7KB vq=    0KB sq=    0B f=0/0
复制代码

------20240229 14:22 启动下述命令,【现象】输出文件正常可以打开,也有时间进度条。按q退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -e '0' -m 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  9. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  10. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  11. ==================Pipe===================
  12. ModuleRtspClient (H265 1920x1080)
  13.    |--->ModuleMppDec (NV12 1920x1080)
  14.            |--->ModuleMppEnc (H264 1920x1080)
  15.                    |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  16. wait...INFO: 10MppDecoder: getTimeoutSample: 0x54adc20 frame info changed 1 error 0 discard 0
  17. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  18. q
  19. ==================Summary================
  20. ModuleRtspClient (In Full: 0, Out Empty: 669)
  21.    |--->ModuleMppDec (In Full: 0, Out Empty: 623)
  22.            |--->ModuleMppEnc (In Full: 0, Out Empty: 644)
  23.                    |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  24. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240229 14:29 启动下述命令,【现象】全屏黑屏,按1退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -o '1280*720' -d '0'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. INFO: 15DrmDisplayPlane: setupDisplayDevice: 0 0
  10. INFO: 15DrmDisplayPlane: setupDisplayDevice: conn_id = 150 enc_id = 149 crtc_id = 71
  11. INFO: 15DrmDisplayPlane: setup: plane_id = 101
  12. ==================Pipe===================
  13. ModuleRtspClient (H265 1920x1080)
  14.    |--->ModuleMppDec (NV12 1920x1080)
  15.            |--->ModuleDrmDisplay (NV12 1920x1080)

  16. wait...rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  17. INFO: 16ModuleDrmDisplay: setupWindow: input NV12 0 0 1920 1080 2304 1088
  18. INFO: 16ModuleDrmDisplay: setupWindow: output NV12 0 0 1920 1080 1920 1080
  19. INFO: 10MppDecoder: getTimeoutSample: 0x33943cc0 frame info changed 1 error 0 discard 0
  20. 1
  21. ==================Summary================
  22. ModuleRtspClient (In Full: 0, Out Empty: 485)
  23.    |--->ModuleMppDec (In Full: 0, Out Empty: 463)
  24.            |--->ModuleDrmDisplay (In Full: 0, Out Empty: 0)

  25. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240229 14:37 启动下述命令,【现象】带框整个框绿屏,输出文件正常可以打开,也有时间进度条。按q退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -x '1' -e '0' -m 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  10. ==================Pipe===================
  11. ModuleRtspClient (H265 1920x1080)
  12.    |--->ModuleMppDec (NV12 1920x1080)
  13.            |--->ModuleRendererVideo (NV12 1920x1080)
  14.            |--->ModuleMppEnc (H264 1920x1080)
  15.                    |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  16. wait...arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '4'.
  17. INFO: 10MppDecoder: getTimeoutSample: 0x33b1120 frame info changed 1 error 0 discard 0
  18. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  19. q
  20. ==================Summary================
  21. ModuleRtspClient (In Full: 0, Out Empty: 423)
  22.    |--->ModuleMppDec (In Full: 0, Out Empty: 775)
  23.            |--->ModuleRendererVideo (In Full: 1, Out Empty: 0)
  24.            |--->ModuleMppEnc (In Full: 0, Out Empty: 411)
  25.                    |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  26. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240229 14:39 启动下述命令,【现象】全屏黑屏,输出文件正常可以打开,也有时间进度条。按q退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -d '0' -e '0' -m 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. INFO: 15DrmDisplayPlane: setupDisplayDevice: 0 0
  10. INFO: 15DrmDisplayPlane: setupDisplayDevice: conn_id = 150 enc_id = 149 crtc_id = 71
  11. INFO: 15DrmDisplayPlane: setup: plane_id = 101
  12. ==================Pipe===================
  13. ModuleRtspClient (H265 1920x1080)
  14.    |--->ModuleMppDec (NV12 1920x1080)
  15.            |--->ModuleDrmDisplay (NV12 1920x1080)
  16.            |--->ModuleMppEnc (H264 1920x1080)
  17.                    |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  18. wait...rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  19. INFO: 16ModuleDrmDisplay: setupWindow: input NV12 0 0 1920 1080 2304 1088
  20. INFO: 16ModuleDrmDisplay: setupWindow: output NV12 0 0 1920 1080 1920 1080
  21. INFO: 10MppDecoder: getTimeoutSample: 0x19225120 frame info changed 1 error 0 discard 0
  22. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  23. q
  24. ==================Summary================
  25. ModuleRtspClient (In Full: 0, Out Empty: 224)
  26.    |--->ModuleMppDec (In Full: 0, Out Empty: 415)
  27.            |--->ModuleDrmDisplay (In Full: 0, Out Empty: 0)
  28.            |--->ModuleMppEnc (In Full: 0, Out Empty: 221)
  29.                    |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  30. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240229 14:47 启动下述命令,【现象】全屏黑屏,输出文件也黑屏。按q退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -b 'BGR24' -c '1' -e '0' -m 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  10. ==================Pipe===================
  11. ModuleRtspClient (H265 1920x1080)
  12.    |--->ModuleMppDec (NV12 1920x1080)
  13.            |--->ModuleRga (BGR24 1920x1080)
  14.                    |--->`�n# (Unknow V4L2 Format 0x0)
  15.                    |--->ModuleMppEnc (H264 1920x1080)
  16.                            |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  17. wait...INFO: 10MppDecoder: getTimeoutSample: 0x23afc1a0 frame info changed 1 error 0 discard 0
  18. q
  19. ==================Summary================
  20. ModuleRtspClient (In Full: 0, Out Empty: 246)
  21.    |--->ModuleMppDec (In Full: 0, Out Empty: 213)
  22.            |--->ModuleRga (In Full: 6, Out Empty: 419)
  23.                    |--->��n# (In Full: 34, Out Empty: 0)
  24.                    |--->ModuleMppEnc (In Full: 4, Out Empty: 248)
  25.                            |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  26. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240229 14:58 启动下述命令,【现象】带框整个框绿屏,输出文件正常可以打开,文件无进度条。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -x '1' -e '0' -f 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  10. ==================Pipe===================
  11. ModuleRtspClient (H265 1920x1080)
  12.    |--->ModuleMppDec (NV12 1920x1080)
  13.            |--->ModuleRendererVideo (NV12 1920x1080)
  14.            |--->ModuleMppEnc (H264 1920x1080)

  15. arm_release_ver of this libmali is 'g2p0-01eac0', rk_so_ver is '4'.
  16. wait...
  17. INFO: 10MppDecoder: getTimeoutSample: 0xea62160 frame info changed 1 error 0 discard 0
  18. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  19. q
  20. ==================Summary================
  21. ModuleRtspClient (In Full: 0, Out Empty: 224)
  22.    |--->ModuleMppDec (In Full: 0, Out Empty: 374)
  23.            |--->ModuleRendererVideo (In Full: 0, Out Empty: 0)
  24.            |--->ModuleMppEnc (In Full: 0, Out Empty: 0)
  25. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码


作者: dengkx    时间: 2024-2-29 16:41
本帖最后由 dengkx 于 2024-2-29 16:42 编辑
wuyq 发表于 2024-2-29 15:57
目前尝试下述命令行,个人得出的结论:
① ffplay 花屏
② [-d 0][-x 1] -e 0 -m out.mp4;黑屏/绿屏, ...

-f 参数是将源模块的输出的h265流保存成文件,你可以将这个文件拿到电脑使用ffplay或其他工具看能不能正常解码出画面。如果不能,说明rtsp服务端传过来的数据有问题,在你电脑上使用ffplay或其他工具看能不能正常拉流显示。
作者: wuyq    时间: 2024-2-29 16:42
dengkx 发表于 2024-2-29 14:52
播不出来也有可能是h265参考帧太多,导致解码不出数据,改大解码模块buffer数量可以解决这个问题:
diff - ...

尝试ffmedia_release的master分支
demo.py文件第146行新增
  1. dec.setBufferCount(20)
复制代码

使用
  1. python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -x '1'
复制代码
仍然绿屏~[-d 0]黑屏~无法展示
作者: wuyq    时间: 2024-2-29 16:48
dengkx 发表于 2024-2-29 16:41
-f 参数是将源模块的输出的h265流保存成文件,你可以将这个文件拿到电脑使用ffplay或其他工具看能不能正 ...

1、rtsp流,
win电脑,pycharm中使用cv2测试正常,命令行ffplay中测试正常;
盒子上,命令行ffplay花屏,pycharm中cv2测试正常;
2、引用中的命令输出的out.mp4,从板子中拿到win电脑使用迅雷影音 均能够播放 视频流 或者 黑屏~
作者: dengkx    时间: 2024-2-29 16:54
wuyq 发表于 2024-2-29 16:48
1、rtsp流,
win电脑,pycharm中使用cv2测试正常,命令行ffplay中测试正常;
盒子上,命令行ffplay花屏 ...

-f out.h265 将你保存的这个文件发出来
作者: wuyq    时间: 2024-2-29 17:18
dengkx 发表于 2024-2-29 16:54
-f out.h265 将你保存的这个文件发出来

------20240229 17:05 启动下述命令,【现象】out.h256正常输出2s左右。(20s左右的长视频也试过,win中正常播放)
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -e '0' -f 'out.h265'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10004): INFO: ff_media: initiate: Rtp port(10004) already used the other rtp port
  9. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10006): INFO: ff_media: initiate: Rtp port(10006) already used the other rtp port
  10. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10008): INFO: ff_media: initiate: Rtp port(10008) already used the other rtp port
  11. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10010): INFO: ff_media: initiate: Rtp port(10010) already used the other rtp port
  12. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  13. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  14. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  15. ==================Pipe===================
  16. ModuleRtspClient (H265 1920x1080)
  17.    |--->ModuleMppDec (NV12 1920x1080)
  18.            |--->ModuleMppEnc (H264 1920x1080)

  19. wait...INFO: 10MppDecoder: getTimeoutSample: 0xf7836a0 frame info changed 1 error 0 discard 0
  20. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  21. q
  22. ==================Summary================
  23. ModuleRtspClient (In Full: 0, Out Empty: 423)
  24.    |--->ModuleMppDec (In Full: 0, Out Empty: 389)
  25.            |--->ModuleMppEnc (In Full: 0, Out Empty: 0)

  26. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

我使用本potPlayer打开了out.h256,正常播放,也有进度条,您需要文件的话 私信的手机号添加我下好友,我发给您(目前我无法上传附件合片,页面中的上传组件乱码)

作者: dengkx    时间: 2024-2-29 17:33
wuyq 发表于 2024-2-29 17:18
------20240229 17:05 启动下述命令,【现象】out.h256正常输出2s左右。(20s左右的长视频也试过,win中 ...

我意思是说在你显示黑屏时将那次输出的数据发给我。
-d 0 -f out.h265, 观察到显示异常将本次保存的out.h265发过来
作者: wuyq    时间: 2024-2-29 17:47
本帖最后由 wuyq 于 2024-3-1 09:17 编辑
dengkx 发表于 2024-2-29 17:33
我意思是说在你显示黑屏时将那次输出的数据发给我。
-d 0 -f out.h265, 观察到显示异常将本次保存的out. ...

-e 0 -f out.h265 是正常的,无不正常现象;
使用以下命令会出现异常~
------20240229 17:44 输出黑屏
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -b 'BGR24' -c '1' -e '0' -m 'out.h265'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10004): INFO: ff_media: initiate: Rtp port(10004) already used the other rtp port
  9. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10006): INFO: ff_media: initiate: Rtp port(10006) already used the other rtp port
  10. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10008): INFO: ff_media: initiate: Rtp port(10008) already used the other rtp port
  11. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10010): INFO: ff_media: initiate: Rtp port(10010) already used the other rtp port
  12. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  13. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  14. ==================Pipe===================
  15. ModuleRtspClient (H265 1920x1080)
  16.    |--->ModuleMppDec (NV12 1920x1080)
  17.            |--->ModuleRga (BGR24 1920x1080)
  18.                    |--->@&#141280;(Unknow V4L2 Format 0x0)
  19.                    |--->ModuleMppEnc (H264 1920x1080)
  20.                            |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  21. wait...INFO: 10MppDecoder: getTimeoutSample: 0x21663020 frame info changed 1 error 0 discard 0
  22. qt.qpa.xcb: QXcbConnection: XCB error: 148 (Unknown), sequence: 185, resource id: 0, major code: 140 (Unknown), minor code: 20
  23. q
  24. ==================Summary================
  25. ModuleRtspClient (In Full: 0, Out Empty: 23)
  26.    |--->ModuleMppDec (In Full: 62, Out Empty: 1)
  27.            |--->ModuleRga (In Full: 55, Out Empty: 53)
  28.                    |--->&#653224;In Full: 53, Out Empty: 0)
  29.                    |--->ModuleMppEnc (In Full: 7, Out Empty: 58)
  30.                            |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  31. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

已通过您的同事 转您新的不行的视频~
作者: dengkx    时间: 2024-2-29 18:49
wuyq 发表于 2024-2-29 17:47
-d 0 -f out.h265 是正常的,无不正常现象;
使用以下命令会出现异常~
------20240229 17:44 输出黑屏
...

-d 0 -f out.h265 正常说明拉流解码正常。
编码模块只能处理NV12的数据-b 转换成BGR格式就不要用-e编码保存了,除非自己再添加个RAG模块将BGR格式数据再转回NV12数据给编码模块。
./demo.py -i rtsp://xxx -d 0 -e 0 -m out.mp4
运行这条命令如果显示正常并且封装的out.mp4也可以正常播放,说明拉流解码编码封装都没有问题。
作者: wuyq    时间: 2024-3-1 09:08
本帖最后由 wuyq 于 2024-3-1 09:18 编辑
dengkx 发表于 2024-2-29 18:49
-d 0 -f out.h265 正常说明拉流解码正常。
编码模块只能处理NV12的数据-b 转换成BGR格式就不要用-e编码 ...


抱歉~~~昨天回复内容写错了,-d 0 -f out.h265 是正常的,无不正常现象;”应该为“-e 0 -f out.h265 是正常的,无不正常现象;”;
以下命令是昨天测试的,结果是-d全屏黑屏,-m文件播放正常。
------20240229 14:39 启动下述命令,【现象】全屏黑屏,输出文件正常可以打开,也有时间进度条。按q退出。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' --rtsp_transport '1' -d '0' -e '0' -m 'out.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. INFO: 15DrmDisplayPlane: setupDisplayDevice: 0 0
  10. INFO: 15DrmDisplayPlane: setupDisplayDevice: conn_id = 150 enc_id = 149 crtc_id = 71
  11. INFO: 15DrmDisplayPlane: setup: plane_id = 101
  12. ==================Pipe===================
  13. ModuleRtspClient (H265 1920x1080)
  14.    |--->ModuleMppDec (NV12 1920x1080)
  15.            |--->ModuleDrmDisplay (NV12 1920x1080)
  16.            |--->ModuleMppEnc (H264 1920x1080)
  17.                    |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  18. wait...rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  19. INFO: 16ModuleDrmDisplay: setupWindow: input NV12 0 0 1920 1080 2304 1088
  20. INFO: 16ModuleDrmDisplay: setupWindow: output NV12 0 0 1920 1080 1920 1080
  21. INFO: 10MppDecoder: getTimeoutSample: 0x19225120 frame info changed 1 error 0 discard 0
  22. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  23. q
  24. ==================Summary================
  25. ModuleRtspClient (In Full: 0, Out Empty: 224)
  26.    |--->ModuleMppDec (In Full: 0, Out Empty: 415)
  27.            |--->ModuleDrmDisplay (In Full: 0, Out Empty: 0)
  28.            |--->ModuleMppEnc (In Full: 0, Out Empty: 221)
  29.                    |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  30. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码


作者: dengkx    时间: 2024-3-1 09:43
wuyq 发表于 2024-3-1 09:08
抱歉~~~昨天回复内容写错了,“-d 0 -f out.h265 是正常的,无不正常现象;”应该为“-e 0 -f out.h265 ...

你可以按照我提供的操作来吗?
-d 0 -f out.h265
看到显示黑屏后等几秒退出,你就可以用你win软件播放该文件看rtsp拉流的数据正不正常。
不用关注进度条,-f是直接将源模块(rtsp)输出的数据写入文件,他是裸流,没有时间戳不会有进度条;-m封装mp4、mkv、flv、ts等封装格式文件才有时间戳才会有进度条
作者: wuyq    时间: 2024-3-1 09:58
本帖最后由 wuyq 于 2024-3-1 14:02 编辑
dengkx 发表于 2024-3-1 09:43
你可以按照我提供的操作来吗?
-d 0 -f out.h265
看到显示黑屏后等几秒退出,你就可以用你win软件播放 ...

按照您说的,操作如下~
-----20240301 09:50 【现象】-d 0 盒子上全屏黑屏,-f out.h256 win环境播放正常。
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -d '0' -f 'out.h265'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  7. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. INFO: 15DrmDisplayPlane: setupDisplayDevice: 0 0
  10. INFO: 15DrmDisplayPlane: setupDisplayDevice: conn_id = 150 enc_id = 149 crtc_id = 71
  11. INFO: 15DrmDisplayPlane: setup: plane_id = 101
  12. ==================Pipe===================
  13. ModuleRtspClient (H265 1920x1080)
  14.    |--->ModuleMppDec (NV12 1920x1080)
  15.            |--->ModuleDrmDisplay (NV12 1920x1080)

  16. wait...rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  17. INFO: 16ModuleDrmDisplay: setupWindow: input NV12 0 0 1920 1080 2304 1088
  18. INFO: 16ModuleDrmDisplay: setupWindow: output NV12 0 0 1920 1080 1920 1080
  19. INFO: 10MppDecoder: getTimeoutSample: 0x2e49f6a0 frame info changed 1 error 0 discard 0
  20. q
  21. ==================Summary================
  22. ModuleRtspClient (In Full: 0, Out Empty: 109)
  23.    |--->ModuleMppDec (In Full: 0, Out Empty: 103)
  24.            |--->ModuleDrmDisplay (In Full: 0, Out Empty: 0)

  25. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

这边的需求是希望通过demo.py中的cv2_extcall_bac方法,
获取第54行的img = data.reshape((vb.getImagePara().vstride, vb.getImagePara().hstride, 3)),
然后对img进行图像算法处理。
然后目前尝试过-c 1无效,然后排错就出现了-d 0、-x 1显示不行问题~~~



作者: wuyq    时间: 2024-3-3 09:45
wuyq 发表于 2024-3-1 09:58
按照您说的,操作如下~
-----20240301 09:50 【现象】-d 0 盒子上全屏黑屏,-f out.h256 win环境播放正 ...

该【现象】-d 0 盒子上全屏黑屏,-f out.h256 win环境播放正常。
是否可以认为是ffmedia屏幕输出有问题,生成的out.h256是正常的?
打印cv2_extcall_bac方法中str(MediaBuffer.getActiveData())是[0,0,0,....,0]。
作者: dengkx    时间: 2024-3-4 10:34
wuyq 发表于 2024-3-3 09:45
该【现象】-d 0 盒子上全屏黑屏,-f out.h256 win环境播放正常。
是否可以认为是ffmedia屏幕输出有问题 ...

这问题看着像是rga的问题。再试试这两个命令, -i输入本地视频文件也行:
./demo.py -i rtsp://xxxx - e 0 -m out1.mp4
./demo.py -i xxxx -o 1280x720 -e 0 -m out2.mp4

执行十几秒再按回车键退出,在win播放这两个文件看哪个有异常。
作者: wuyq    时间: 2024-3-4 11:33
本帖最后由 wuyq 于 2024-3-4 11:35 编辑
dengkx 发表于 2024-3-4 10:34
这问题看着像是rga的问题。再试试这两个命令, -i输入本地视频文件也行:
./demo.py -i rtsp://xxxx - e  ...

按照要求测试结果:
~~结论~~
① rtsp mp4文件播放正常。
② 找了2段mp4本地文件,执行后 新的mp4文件均绿屏。

~~详细命令行~~
------20240304 11:20 out1.mp4【打开正常】
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -e '0' -m 'out1.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  7. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. ==================Pipe===================
  10. ModuleRtspClient (H265 1920x1080)
  11.    |--->ModuleMppDec (NV12 1920x1080)
  12.            |--->ModuleMppEnc (H264 1920x1080)
  13.                    |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  14. wait...INFO: 10MppDecoder: getTimeoutSample: 0x5ea22a0 frame info changed 1 error 0 discard 0
  15. INFO: 10MppEncoder: putWithBuffers: Input frame para is changed, redo init
  16. q
  17. ==================Summary================
  18. ModuleRtspClient (In Full: 0, Out Empty: 479)
  19.    |--->ModuleMppDec (In Full: 0, Out Empty: 458)
  20.            |--->ModuleMppEnc (In Full: 0, Out Empty: 461)
  21.                    |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  22. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码

------20240304 11:22 out2.mp4【打开不正常】
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'yanhuo.mp4' -o '1280x720' -e '0' -m 'out2.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a regular file.
  4. INFO: 16ModuleFileReader: init: Get Video Resolution( 2560 x 1436 )
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. ==================Pipe===================
  7. ModuleFileReader (H264 2560x1436)
  8.    |--->ModuleMppDec (NV12 2560x1436)
  9.            |--->ModuleRga (NV12 1280x720)
  10.                    |--->ModuleMppEnc (H264 1280x720)
  11.                            |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  12. wait...INFO: 10MppDecoder: getTimeoutSample: 0x8ba7d20 frame info changed 1 error 0 discard 0
  13. INFO: 16ModuleFileReader: work: Produce EOS
  14. ERROR: 16ModuleFileWriter: work: wait for productor ModuleMppEnc timeout
  15. q
  16. ==================Summary================
  17. ModuleFileReader (In Full: 0, Out Empty: 49)
  18.    |--->ModuleMppDec (In Full: 1720, Out Empty: 8)
  19.            |--->ModuleRga (In Full: 200, Out Empty: 508)
  20.                    |--->ModuleMppEnc (In Full: 14, Out Empty: 863)
  21.                            |--->ModuleFileWriter (In Full: 0, Out Empty: 0)
复制代码

------20240304 11:26 out3.mp4【打开不正常】
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'mj.mp4' -o '1280x720' -e '0' -m 'out3.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a regular file.
  4. INFO: 16ModuleFileReader: init: Get Video Resolution( 540 x 960 )
  5. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  6. ==================Pipe===================
  7. ModuleFileReader (H264 540x960)
  8.    |--->ModuleMppDec (NV12 540x960)
  9.            |--->ModuleRga (NV12 1280x720)
  10.                    |--->ModuleMppEnc (H264 1280x720)
  11.                            |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  12. wait...INFO: 10MppDecoder: getTimeoutSample: 0x4f998e0 frame info changed 1 error 0 discard 0
  13. INFO: 16ModuleFileReader: work: Produce EOS
  14. ERROR: 16ModuleFileWriter: work: wait for productor ModuleMppEnc timeout
  15. q
  16. ==================Summary================
  17. ModuleFileReader (In Full: 0, Out Empty: 434)
  18.    |--->ModuleMppDec (In Full: 355, Out Empty: 7)
  19.            |--->ModuleRga (In Full: 212, Out Empty: 7)
  20.                    |--->ModuleMppEnc (In Full: 339, Out Empty: 347)
  21.                            |--->ModuleFileWriter (In Full: 0, Out Empty: 0)
复制代码

作者: dengkx    时间: 2024-3-4 11:41
wuyq 发表于 2024-3-4 11:33
按照要求测试结果:
~~结论~~
① rtsp mp4文件播放正常。

第二条命令也可以测下rtsp,不过大概知道问题了,是rga模块无法正常运行,可以更新最新的发布的固件测试下
作者: wuyq    时间: 2024-3-4 13:41
本帖最后由 wuyq 于 2024-3-4 13:53 编辑
dengkx 发表于 2024-3-4 11:41
第二条命令也可以测下rtsp,不过大概知道问题了,是rga模块无法正常运行,可以更新最新的发布的固件测试 ...

目前我们的盒子版本是rk3568pc-se。可以使用以下固件地址吗?【https://www.t-firefly.com/doc/download/180.html -> 固件 -> Ubuntu ->Ubuntu20.04 -> Public -> ROC-RK3568-PC-SE_Ubuntu20.04-r3108_v1.3.2g_240111.7z】
回复测试情况~
------20240304 13:35 out4.mp4【打开不正常】
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -o '1280x720' -e '0' -m 'out4.mp4'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized
  6. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  7. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)
  8. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265
  9. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)
  10. ==================Pipe===================
  11. ModuleRtspClient (H265 1920x1080)
  12.    |--->ModuleMppDec (NV12 1920x1080)
  13.            |--->ModuleRga (NV12 1280x720)
  14.                    |--->ModuleMppEnc (H264 1280x720)
  15.                            |--->ModuleFileWriter (Unknow V4L2 Format 0x0)

  16. wait...INFO: 10MppDecoder: getTimeoutSample: 0x2b00f360 frame info changed 1 error 0 discard 0
  17. q
  18. ==================Summary================
  19. ModuleRtspClient (In Full: 0, Out Empty: 309)
  20.    |--->ModuleMppDec (In Full: 0, Out Empty: 296)
  21.            |--->ModuleRga (In Full: 0, Out Empty: 295)
  22.                    |--->ModuleMppEnc (In Full: 0, Out Empty: 296)
  23.                            |--->ModuleFileWriter (In Full: 0, Out Empty: 0)

  24. INFO: 10RTSPClient: teardownMediaSession: teardown session success
复制代码


作者: dengkx    时间: 2024-3-4 13:53
wuyq 发表于 2024-3-4 13:41
固件地址可以提供下吗?目前我们的盒子版本是rk3568pc-se。
回复测试情况~
------20240304 13:35 out4. ...

https://www.t-firefly.com/doc/download/180.html
可以在这个页面选择你要下载的固件下载
作者: wuyq    时间: 2024-3-4 15:49
本帖最后由 wuyq 于 2024-3-4 15:59 编辑
dengkx 发表于 2024-3-4 13:53
https://www.t-firefly.com/doc/download/180.html
可以在这个页面选择你要下载的固件下载

最新的发布的固件测试下,我找到的是一下固件版本
固件版本ROC-RK3568-PC-SE_Ubuntu20.04-r3108_v1.3.2g_240111.7z
此固件自带python38
参照ffmedia_release/demo/readme.md安装apt组件
运行以下命令出现的情况~
总结
-e 0 -f out.h256 文件在win环境播放正常
-e 0 -o 1280*720 -x 1 绿屏

------20240304 15:00 【现象】绿屏无法展示
  1. root@firefly:/home/ap/cetccity/wuyiqi/ffmediaTest# python3 demo.py -i 'rtsp://admin:js123456@192.168.8.213:554/cam/realmonitor?channel=1&subtype=0' -e '0' -o '1280*720' -x '1'
  2. Firefly FFMedia: v2.2.3
  3. input source is a rtsp url                                                                                                                                                                  
  4. INFO: ff_media: connectToServer: connected to server 192.168.8.213:554                                                                                                                       
  5. WARN: ff_media: sendOptionsCmd: cannot handle OPTIONS response: RTSP/1.0 401 Unauthorized                                                                                                   
  6. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10000): INFO: ff_media: initiate: Rtp port(10000) already used the other rtp port                                   
  7. ERROR: ff_media: CheckUdpPort: [CheckUdpPort] bind() error (port number: 10002): INFO: ff_media: initiate: Rtp port(10002) already used the other rtp port                                   
  8. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)                                                                                                                           
  9. INFO: ff_media: RTPSource: RTPSock current buffer size is(425984)                                                                                                                           
  10. INFO: 16ModuleRtspClient: init: rtsp para w h: 1920 1080, ws hs: 1920 1080, format: H265                                                                                                     
  11. rga_api version 1.3.0_[0] (RGA is compiling with meson base: $PRODUCT_BASE)                                                                                                                  
  12. ==================Pipe===================                                                                                      
复制代码








作者: dengkx    时间: 2024-3-4 16:10
本帖最后由 dengkx 于 2024-3-4 18:01 编辑
wuyq 发表于 2024-3-4 15:49
最新的发布的固件测试下,我找到的是一下固件版本
固件版本ROC-RK3568-PC-SE_Ubuntu20.04-r3108_v1.3.2g ...



作者: wuyq    时间: 2024-3-5 17:18
dengkx 发表于 2024-3-4 16:10

目前测试了5块 roc-rk3568-pc-se板子,均有同样现象的问题~麻烦有新进展这边也回复下~
作者: dengkx    时间: 2024-3-5 17:42
wuyq 发表于 2024-3-5 17:18
目前测试了5块 roc-rk3568-pc-se板子,均有同样现象的问题~麻烦有新进展这边也回复下~

如果均是这种现象,那基本不是板子的问题。如果你有任何修改保存修改,回退,再测试。
或者你可以使用ffplay播放/usr/local/test.mp4视频看看:
ffplay /usr/local/test.mp4
作者: wuyq    时间: 2024-3-5 19:37
本帖最后由 wuyq 于 2024-3-7 09:20 编辑
dengkx 发表于 2024-3-5 17:42
如果均是这种现象,那基本不是板子的问题。如果你有任何修改保存修改,回退,再测试。
或者你可以使用ff ...

使用ffplay,尝试以下几种播放形式(win播放均正常的视频)
/usr/local/test.mp4--新窗口花屏
rtsp流---新窗口花屏,H265
rtsp输出.mp4---新窗口花屏,H264
小视频.mp4---无新窗口弹出,H264
电脑录屏.mp4---新窗口花屏,H264

----------

目前所有测试均采用./demo.py + 命令参数,文件本身未做任何代码处理。

----------

请问你们复现问题了吗?需要我这边邮寄板子吗?急~~~









欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1