大佬,请问一下单独的编码器编完的码流可以只利用ffmpeg 推rtmp 吗?我今天查了好多都是ffmpeg 读文件然后推流的
你用的是什么编码器?你是在 Android上开发的吗? 你的单独的编码器,也是调 FFmpeg 拿到的 AVPacket 吗?
就是芯片上的vpu ,可以编码264,我想编出来的流通过 ffmpeg 推出去 之前是编出来的流用 librtmp 推出去的,想着能不能直接用 ffmpeg 做
小助手 你的 vpu 程序,编码一个 yuv 帧之后,应该会输出一帧 h264 的内存数据。 你想办法把 这块 h264 的数据挂到 FFmpeg 的 AVPacket 结构里面,然后调 av_interleaved_write_frame 写进去 rtmp 的 muxer 就行。
至于怎么把 264 的内存数据挂到 AVPacket,可能是直接把 data 指针指向 h264 的内存就行。 也可能不是,你网上搜一下。
我说错了,你不需要自己把 h264 的内存数据挂在 AVPacket 里面。 FFmpeg 有现成的方法,就是那个 H264 的 demuxer,你用 h.264 demuxer 加上 AVIO 功能,就能拿到 AVPacket 了 《FFmpeg的自定义IO之AVIO》 你把我这篇文章的 mp4 demuxer 换成 h264 demuxer 就行。