- 博客(44)
- 收藏
- 关注
原创 ffplay支持mac/iOS硬解码实践
4. 可以看到虽然硬解码是在GPU里进行解码,会降低CPU使用率,但是最终显示的时候还需要调用av_hwframe_transfer_data方法将数据拷贝到CPU中,拷贝后它的格式在转换为RGB24时也需要占用CPU资源,所以对CPU资源占用率的降低并不大,如果能将GPU数据直接传递到OpenGLES中显示应该可以降低CPU使用率。5,目前还没找到如何将GPU数据直接显示到OpenGLES的方法,如果大家有办法,欢迎大神@我。2. stream_component_open方法中开启硬件解码器。
2024-04-29 14:34:00
939
6
原创 ffmpeg ffplay 基于h264中SEI信息进行双摄画面拆分播放实践
工作中用到IPCamera支持双摄(即一个IPCamera带两个摄像头),IPC端将两个摄像头的画面上下拼接成了一个画面发布dash到云端,并且携带SEI信息。SEI信息中带两个frame(x, y, width, height),app端(iOS、安卓)根据这个信息拆分画面通过opengl展示到两个view上,以便以不同的排列方式展示双摄画面。7. sei_saas_data_without_nal_unit方法用于根据uuid去搜索SEI信息,搜索前256字节和后256字节。
2024-04-25 10:51:35
879
原创 metartc5_jz源码阅读-yang_encode_rtpExtensions
【代码】metartc5_jz源码阅读-yang_encode_rtpExtensions。
2024-01-14 23:09:48
937
原创 metartc5_jz源码阅读-yang_encode_rtpHeader
【代码】metartc5_jz源码阅读-yang_encode_rtpHeader。
2024-01-14 22:41:00
488
原创 metartc5_jz源码阅读-p2p通过stun服务器进行通信
设置iceCandidateType为2,表示走stun,即向stun服务器发起请求获取本机的公网ip地址。需要设置iceUserName和icePassword。如果仅仅是想通过p2p连接,经过以上设置应该已经可以用了。需要设置stun服务器的ip地址和端口号。设置iceUsingLocalIp为0。
2024-01-13 23:57:50
1019
原创 metartc5_jz源码阅读-yang_rtcpush_on_rtcp_ps_feedback
【代码】metartc5_jz源码阅读-yang_rtcpush_on_rtcp_ps_feedback。
2024-01-13 23:08:58
685
原创 metartc5_jz源码阅读-yang_rtcpush_on_rtcp_nack
【代码】metartc5_jz源码阅读-yang_rtcpush_on_rtcp_nack。
2024-01-12 22:43:10
508
原创 metartc5_jz源码阅读-yang_stats_on_recvRR
【代码】metartc5_jz源码阅读-yang_stats_on_recvRR。
2024-01-12 22:32:46
448
原创 metartc5_jz源码阅读-yang_decode_rtcpCompound
【代码】metartc5_jz源码阅读-yang_decode_rtcpCompound。
2024-01-11 23:17:25
721
原创 metartc5_jz源码阅读-yang_rtcconn_on_rtcp
【代码】metartc5_jz源码阅读-yang_rtcconn_on_rtcp。
2024-01-11 22:28:23
601
原创 metartc5_jz源码阅读-yang_rtcconn_receive
【代码】metartc5_jz源码阅读-yang_rtcconn_receive。
2024-01-10 23:50:24
499
原创 metartc5_jz源码阅读-yang_send_avpacket
【代码】metartc5_jz源码阅读-yang_send_avpacket。
2024-01-09 22:08:01
548
原创 metartc5_jz源码阅读-yang_push_h264_package_fu_a
【代码】metartc5_jz源码阅读-yang_push_h264_package_fu_a。
2024-01-09 21:20:40
482
原创 metartc5_jz源码阅读-yang_push_h264_package_single_nalu2
【代码】metartc5_jz源码阅读-yang_push_h264_package_single_nalu2。
2024-01-08 22:34:00
664
原创 metartc5_jz源码阅读-yang_push_h264_video
【代码】metartc5_jz源码阅读-yang_push_h264_video。
2024-01-08 22:28:15
996
原创 metartc5_jz源码阅读-yang_push_h264_package_stap_a
【代码】metartc5_jz源码阅读-yang_push_h264_package_stap_a。
2024-01-07 23:05:22
613
原创 metartc5_jz源码阅读-yang_push_h264_encodeVideo
【代码】metartc5_jz源码阅读-yang_push_h264_encodeVideo。
2024-01-07 23:02:16
470
原创 metartc5_jz源码阅读-yang_ipc_rtcrecv_publishVideoData
【代码】metartc5_jz源码阅读-yang_ipc_rtcrecv_publishVideoData。
2024-01-06 23:15:14
408
原创 metartc5_jz源码阅读-yang_create_ipcPublish
【代码】metartc5_jz源码阅读-yang_create_ipcPublish。
2024-01-06 22:55:23
614
原创 metartc5_jz源码阅读-yang_create_p2prtc
【代码】metartc5_jz源码阅读-yang_create_p2prtc。
2024-01-05 23:55:06
610
原创 metartc5_jz源码阅读-yang_create_videoEncoder
【代码】metartc5_jz源码阅读-yang_create_videoEncoder。
2024-01-05 23:34:22
1328
原创 metartc5_jz源码阅读-g_yang_ice_stun_receive
【代码】metartc5_jz源码阅读-g_yang_ice_stun_receive。
2024-01-04 22:52:07
515
原创 metartc5_jz源码阅读-yang_sdp_genLocalSdp2
【代码】metartc5_jz源码阅读-yang_sdp_genLocalSdp2。
2024-01-03 23:59:24
811
原创 metartc5_jz源码阅读-yang_config.ini-rtc
【代码】metartc5_jz源码阅读-yang_config.ini-rtc。
2024-01-03 22:42:08
433
原创 metartc5_jz源码阅读-yang_ice_requestTurnServer
【代码】metartc5_jz源码阅读-yang_ice_requestTurnServer。
2024-01-02 22:47:37
477
原创 metartc5_jz源码阅读-yang_run_rtcudp_thread
【代码】metartc5_jz源码阅读-yang_run_rtcudp_thread。
2024-01-01 21:57:07
698
原创 metartc5_jz源码阅读-yang_ice_stun_request
【代码】metartc5_jz源码阅读-yang_ice_stun_request。
2024-01-01 21:56:58
517
原创 metartc5_jz源码阅读-yang_ipc_rtcrecv_start_thread
【代码】metartc5_jz源码阅读-yang_ipc_rtcrecv_start_thread。
2023-12-31 23:09:41
1658
原创 metartc5_jz源码阅读-yang_ipc_rtcrecv_addPeer
【代码】metartc5_jz源码阅读-yang_ipc_rtcrecv_addPeer。
2023-12-31 09:00:00
471
原创 metartc5_jz源码阅读-yang_run_http_thread
【代码】metartc5_jz源码阅读-yang_run_http_thread。
2023-12-30 19:02:46
368
原创 metartc5_jz源码阅读-yang_run_p2pserver_thread
【代码】metartc5_jz源码阅读-yang_run_p2pserver_thread。
2023-12-30 19:01:45
594
原创 君正T31x metartc集成测试
metartc为国内杨大侠部分开源的一款用于嵌入式领域webrtc库,它与谷歌官方webrtc相比,编译到君正平台的可执行文件仅有5M即可实现webrtc的通信。1. 目前实现的是基于开源版v5.0-b0版本做的简单修改,官方的好几个版本都多少缺点东西,我这里给整理了一下。目前是局域网连接的webrtc,后续尝试走stun和turn试一下NAT穿越的效果。
2023-12-02 00:14:53
1608
9
原创 君正T31x Sample-Encoder-video不求甚解之源码阅读
2. 下面我们看一下最关键的sample_get_video_stream方法,在这个方法中for循环遍历多个channel,每个channel对应一个输出h264文件,可以对应输出不同的分辨率的h264文件。1. sample-Encoder-video.c,可以看到在各种init调用后,最终调用了sample_get_video_stream方法去录制h264文件,录制完后调用各种exit方法退出。4. save_stream方法遍历stream中的包,将其通过write写到对应文件中。
2023-11-28 12:41:29
545
原创 君正T31x ubuntu开发板测试
5. 选择“媒体”-“打开网络串流”,输入"rtsp://192.168.1.10/test.264",点击"播放"按钮,即可播放rtsp流。3. 再次执行 ls /dev/tty* 查看设备,多出来的那个就是串口,我这里是/dev/ttyUSB0。1. 在ubuntu中编译rtsp-h264,执行完后在此文件夹可以看到rtsp-h264可执行文件。1. 开发板中设置/mnt目录可执行权限,cd到文件夹中,执行录制视频操作。5. 开发板中挂载jz文件夹到/mnt中。4. ubuntu中ping开发板ip。
2023-11-23 00:04:48
1215
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人