Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[应用开发] ffmedia无法正常调用

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2023-11-15 17:29:08      楼主
看下demo/Readme.md的环境配置安装对应依赖包
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

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

你python不应该运行demo.py吗?看你运行的命令是c++的demo。
有问题提供复现条件,方便我这边复现。比如使用的命令、修改差异等等
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-28 17:36:20      板凳
wuyq 发表于 2024-2-27 16:01
实际查看是rk3568pc-se板子;
第 1 步
  重新装机,安装py38环境

应该是环境问题,不要使用-x 1 使用-d 0  显示看看
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-29 11:58:28      地板
wuyq 发表于 2024-2-29 11:29
使用-d 0后仍然是黑屏,是否可以提供安装环境参数
系统安装包文件
py38安装包文件

复现出问题,等几秒中按回车键退出,将退出的log过来看看。
或者不显示,使用 -e 0 -m out.mp4 编码保存文件,用ffplay播放或其他工具播放看正不正常?
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-29 14:52:04      5#
本帖最后由 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")

回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-29 16:41:22      6#
本帖最后由 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或其他工具看能不能正常拉流显示。
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-29 16:54:59      7#
wuyq 发表于 2024-2-29 16:48
1、rtsp流,
win电脑,pycharm中使用cv2测试正常,命令行ffplay中测试正常;
盒子上,命令行ffplay花屏 ...

-f out.h265 将你保存的这个文件发出来
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

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

我意思是说在你显示黑屏时将那次输出的数据发给我。
-d 0 -f out.h265, 观察到显示异常将本次保存的out.h265发过来
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-2-29 18:49:14      9#
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也可以正常播放,说明拉流解码编码封装都没有问题。
回复

使用道具 举报

824

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
824
发表于 2024-3-1 09:43:52      10#
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等封装格式文件才有时间戳才会有进度条
回复

使用道具 举报

返回列表
12
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表