草庐IT

android - 将 Android MediaCodec 编码的 H264 数据包复用到 RTMP 中

我来自一个线程EncodingH.264fromcamerawithAndroidMediaCodec.我的设置非常相似。但是,我尝试使用javacv编写多路编码帧并通过rtmp广播它们。RtmpClient.java...privatevolatileBlockingQueuemFrameQueue=newLinkedBlockingQueue(MAXIMUM_VIDEO_FRAME_BACKLOG);...privatevoidstartStream()throwsFrameRecorder.Exception,IOException{if(TextUtils.isEmpty(mD

java - 在 Android 上解码 h264 字节流

我想在Android中解码和显示原始h264视频字节流,因此我目前正在使用MediaCodec/Format类。我通过Udp从服务器获取帧数据。但是,不幸的是,目前没有显示任何内容。这是我目前所拥有的。初始化MediaCodec类:codec=MediaCodec.createDecoderByType("video/avc");MediaFormatformat=newMediaFormat();format.setString(MediaFormat.KEY_MIME,"video/avc");format.setInteger(MediaFormat.KEY_MAX_INPUT_

android - 使用 MediaCodec 进行 H264 流式传输

我目前正在尝试将Android用作Skype端点。在此阶段,我需要将视频编码为H.264(因为它是Skype唯一支持的格式)并使用RTP对其进行封装,以便进行流式传输。显然MediaRecorder出于各种原因不是很适合这个。一是因为它在完成后添加了MP4或3GPheader。另一个是因为为了将延迟减少到最低限度,硬件加速可能会派上用场。这就是为什么我想利用最近对框架的低级添加,如MediaCodec、MediaExtractor等。目前,我计划按以下方式工作。相机将其视频写入缓冲区。MediaCodec使用H264对视频进行编码并将结果写入另一个缓冲区。该缓冲区由RTP封装器读取,它

Android - 将 rtsp (h264) 流保存到 mp4 文件

我正在做一个我需要做的项目从IPCamera读取输入H.264编码流-我可以通过rtspurl获取它,比如rtsp://192.168.1.83:8001/显示IPCamera流-我可以使用finalVideoViewvv=(VideoView)findViewById(R.id.video_view_h264);MediaControllermc=newMediaController(getApplicationContext());vv.setVideoURI(video);vv.setMediaController(mc);vv.requestFocus();vv.setOnPr

QT + FFmpeg 5.x + x264 + x265 + SDL2 音视频播放器

QT+FFmpeg5.x+x264+x265+SDL2音视频播放器使用了QT的QML设计界面,人机交互;使用了FFmpeg5.x+x264+x265+SDL2完成了音视频的解析到播放;阅读了ffplay的源码,用到了ffplay的核心思想.想熟悉ffmpeg和ffplay的朋友,都可以参考学习.代码自取:https://github.com/truedei/UPlayer展示图1.主界面2.通过中心的按钮选择媒体文件3.通过菜单打开文件4.开始播放5.暂停播放6.继续播放7.快进可以想象一下,截图没效果8.快退可以想象一下,截图没效果9.静音10.调整音量11.时时进度条和时间显示12.停止播

c++ - Media Foundation 网络摄像头视频 H264 编码/解码在播放时产生伪像

我有一个解决方案,我使用MediaFoundation的h264编码器对来自网络摄像头的视频(YUY2)样本进行编码。然后我通过TCP连接将它发送到另一个应用程序,该应用程序使用MediaFoundation的h264解码器将流解码回YUY2格式。解码后,视频样本/图像使用DirectX呈现在屏幕上。问题在于,在关键帧之间,视频图像会出现越来越多的伪像。收到关键帧时,伪影消失。我将TCP连接排除在范围之外,并在编码后立即进行解码,但仍然有工件困扰着我。这是从网络摄像头接收样本的回调方法://------------------------------------------------

c++ - 使用 opencv 的 H264 视频编解码器

我正在尝试使用opencv创建电影,我需要输出文件为H264格式。我在opencv中使用了以下fourcc,但出现错误,提示未安装合适的编解码器。fourcc=CV_FOURCC('H','2','6','4');当我运行我的应用程序时,我收到以下错误消息:Couldnotfindencoderforcodecid28:Encodernotfound我需要什么才能在OpenCV中使用这个编解码器? 最佳答案 H264不是编解码器,而是标准,而例如x264是实现H264标准的编码器(CV_FOURCC('X','2','6','4')

c++ - 如何加速OpenH264的解码器

故事我正在开发一个流畅的60FPS1080p(全高清)视频传输应用程序,它以x264编码,通过LAN将编码数据发送到接收设备,然后使用OpenH264的解码器对其进行解码。我设法让它工作,它运行良好且稳定,但我发现它非常慢(大约20FPS,而不是所需的60FPS)。问题我进行了大量测试,发现问题出在OpenH264解码器上。解码器使用了我的i5-2500@3.9Ghz的完整核心(CPU使用率总计25%),这太高了。尽管解码器是单线程的,但我在MediaPlayerClassic上测试了原始数据,其播放(以60FPS的速度)仅导致0.3%的CPU使用率。(当将渲染引擎切换到“旧视频渲染”

c++ - OpenCV IP 摄像机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

我在cpp中有一个opencv应用程序。它使用opencv的简单构造捕获视频流并将其保存到视频文件。它与我的网络摄像头完美配合。但是,当我运行它以从IPCamara捕获流时,它可能会在大约十秒后崩溃。我的编译命令是:g++-O3IP_Camera_linux.cpp-oIP_Camera`pkg-config--cflags--libsopencv`我的网络摄像头流是这样访问的:conststringStream="rtsp://admin:xxxx@192.168.0.101/";它确实运行完美,显示视频并保存它直到显示的视频卡住和应用程序崩溃。虽然终端上的错误消息是:[h264@0

c++ - 使用ffmpeg(libavcodec)通过RTP解码H264视频的问题

我使用SDP的profile-level-id和sprop-parameter-set设置了AvCodecContext的profile_idc,level_idc,extradata和extradata_size。我将编码切片,SPS,PPS和NAL_IDR_SLICE数据包的解码分开:在里面:uint8_tstart_sequence[]={0,0,1};intsize=recv(id_de_la_socket,(char*)rtpReceive,65535,0);编码切片:char*z=newchar[size-16+sizeof(start_sequence)];memcpy(