wx__AxJ5zO 发表于 2024-3-5 15:56:19

本帖最后由 wx__AxJ5zO 于 2024-3-5 16:22 编辑

dengkx 发表于 2024-3-5 15:20
拉最新v2.2.4代码,可以使用本地文件编码h264或h265推rtsp流测试:
./demo xxx.mp4 -e h264 -l -s -p 5 ...
root@firefly:/home/firefly/demo/ff# python3 demo.py -i /home/firefly/demo/ff/1.mp4 -e 0 -l -p 554
Firefly FFMedia: v2.2.4
input source is a regular file.
INFO: 16ModuleFileReader: init: Get Video Resolution( 1280 x 720 )
mpp: mpp_rt: NOT found ion allocator
mpp: mpp_rt: found drm allocator
mpp: mpp_info: mpp version: 49f29006 author: Jeffy Chen    2021-08-04 : Add mmap flag detection
mpp: mpp_info: mpp version: 49f29006 author: Jeffy Chen    2021-08-04 : Add mmap flag detection
mpp: mpp_enc: MPP_ENC_SET_RC_CFG bps 2048000 fps gop 60
mpp: mpp_enc: send header for set cfg change rc_mode/fps/gop
mpp: mpp_enc: mode cbr bps fps fix -> fix gop i v
INFO: rtsp_server: rtsp_new_demo: rtsp server demo starting on port 554
==================Pipe===================
ModuleFileReader (H264 1280x720)
   |--->ModuleMppDec (NV12 1280x720)
         |--->ModuleMppEnc (H264 1280x720)
                   |--->ModuleRtspServer (Unknow V4L2 Format 0x0)

wait...INFO: 10MppDecoder: getTimeoutSample: 0x98439a0 frame info changed 1 error 0 discard 0
INFO: rtsp_server: rtsp_new_client_connection: new rtsp client 192.168.1.5:51540 comming
INFO: rtsp_server: rtsp_new_rtp_connection: new rtp over udp for video ssrc:22345678 local_port:49152-49153 peer_addr:192.168.1.5 peer_port:51820-5182



ffplay rtsp://192.168.1.35:554/live/0 -rtsp_transport tcp 无画面,输出信息如下
Input #0, rtsp, from 'rtsp://192.168.1.35:554/live/0':   0B f=0/0
Metadata:
    title         : rtsp_demo
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720, 30 fps, 30 tbr, 90k tbn
    nan M-V:    nan fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0

使用MP4及H264推流后,vlc拉流仍然黑屏,
报错有 Unknow V4L2 Format 0x0

nboxcn 发表于 2024-3-5 19:26:21

本帖最后由 nboxcn 于 2024-3-6 13:59 编辑

2.2.4版本与2.2.3差不多,只要是用encode编码后推流vlc就没有图像黑屏,使用ffplay播放花屏,无论是从推理后的的rga进行encode还是直接从decode出来的进行encode,ffplay播都花屏且vlc黑屏



#./demo /srv/src/yolo/video/JapanPPE.mp4 -e h264 -l -s -p 554
Firefly FFMedia: v2.2.4
INFO: ff_media: start_instance:

==========================================
INFO: ff_media: start_instance: enable file reader
INFO: 16ModuleFileReader: init: Get Video Resolution( 640 x 360 )
INFO: rtsp_server: rtsp_new_demo: rtsp server demo starting on port 554
INFO: ff_media: start_instance:
Start push stream: rtsp://LocalIpAddr:554/live/0

INFO: ff_media: start_instance:
Input Source:   /srv/src/yolo/video/JapanPPE.mp4
Input format:   640x360 H264
Output format:640x360 NV12
Encode type:    H264
Decoder:      enable
Rga:            disable
Encoder:      enable
RtspClient:   disable
File writer:    disable
File:         disable
Rtsp push:      554
==================Pipe===================
ModuleFileReader (H264 640x360)
   |--->ModuleMppDec (NV12 640x360)
         |--->ModuleMppEnc (H264 640x360)
                   |--->ModuleRtspServer (Unknow V4L2 Format 0x0)

INFO: 10MppDecoder: getTimeoutSample: 0x557df2eea0 frame info changed 1 error 0 discard 0
INFO: rtsp_server: rtsp_new_client_connection: new rtsp client 192.168.10.151:44172 comming
INFO: rtsp_server: rtsp_new_rtp_connection: new rtp over udp for video ssrc:22345678 local_port:49152-49153 peer_addr:192.168.10.151 peer_port:20450-20451

nboxcn 发表于 2024-3-12 17:25:05

请问enc编码模块的问题还有解吗?无论是推流还是保存文件,只要使用了enc的模块都异常,如何能单独测编码模块是否能正常进行编码输出?谢谢

dengkx 发表于 2024-3-12 17:40:41

nboxcn 发表于 2024-3-12 17:25
请问enc编码模块的问题还有解吗?无论是推流还是保存文件,只要使用了enc的模块都异常,如何能单独测编码模 ...

编码模块设置回调,在回调函数里打印数据看看

nboxcn 发表于 2024-3-14 18:22:10

谢谢,不太会看那些数据,用VLC看播放有分流数据、有内容码率,但是没有音频、视频的解码数据、帧数据,跟设备的MPP、RGA版本有没有关系,会不会是那些版本太低的原因?

dengkx 发表于 2024-3-15 10:38:00

wx__AxJ5zO 发表于 2024-3-5 15:56
ffplay rtsp://192.168.1.35:554/live/0 -rtsp_transport tcp 无画面,输出信息如下




已复现,这个问题应该是不同平台编码器差异导致的,下个版本会修复该问题。

wx__AxJ5zO 发表于 2024-3-15 11:29:58

dengkx 发表于 2024-3-15 10:38
已复现,这个问题应该是不同平台编码器差异导致的,下个版本会修复该问题。

好的

nboxcn 发表于 2024-3-15 14:06:15

太棒了,期待!这个问题的修复应该同时解决编码后的推流及写文件的问题吧

dengkx 发表于 2024-3-19 13:35:34

wx__AxJ5zO 发表于 2024-3-15 11:29
好的
简单的处理就是把编码模块默认gop参数更改为其他就可以了。
--- a/demo/demo.cpp
+++ b/demo/demo.cpp
@@ -545,7 +545,7 @@ SOURCE_CREATED:
#endif

   if (inst_conf->enc_enabled) {
-      shared_ptr<ModuleMppEnc> enc = make_shared<ModuleMppEnc>(inst_conf->encode_type);
+      shared_ptr<ModuleMppEnc> enc = make_shared<ModuleMppEnc>(inst_conf->encode_type, 30, 30);
         enc->setProductor(inst->last_module);
         enc->setBufferCount(8);
         enc->setDuration(0);// Use the input source timestamp

nboxcn 发表于 2024-3-19 17:41:44

本帖最后由 nboxcn 于 2024-3-19 18:07 编辑

刚测试了一下,还真行,太神奇了,很棒,文件也可以实时写了!
大神,请教一下,如果是重RGA用的是 output_para.v4l2Fmt = V4L2_PIX_FMT_BGR24; 编码,给到enc模型编码后rtsp推流,出来的图像好奇怪,有3个重影的花屏,似乎图像格式不正确,应该如何转换?谢谢
页: 1 [2] 3
查看完整版本: ffmedia编码模块无法实时写文件及rtsp推流黑屏