在FFMPEG中将数据流与video一起编码

我想将一些专有数据(它是每帧的序列化无符号64位整数)编码为video容器(mp4)作为数据流,但我无法找到任何人这样做的任何指令/教程。

我唯一能找到的是这个,它描述了如何创建数据流(用户似乎没有成功)显然https://lists.libav.org/pipermail/ffmpeg-user/2006-November/005070 .html )

这是我目前创建流的代码:

ff_data_stream = avformat_new_stream(ff_output_context, NULL); ff_data_stream->codec->codec_type = AVMEDIA_TYPE_DATA; ff_data_stream->codec->codec_id = AV_CODEC_ID_NONE; ff_data_stream->codec->flags |= CODEC_FLAG_GLOBAL_HEADER; 

但是当我调用avformat_write_header它会将以下输出错误地发送到控制台:

[mp4 @ 0x7fff68000900] track 1:找不到容器中当前不支持的标签,编解码器

所以我的问题如下:

  • 是否可以使用mp4容器创建数据流? 如果没有,有没有容器呢?
    • 这可能不是正确的方法,但我还没有遇到任何这样做的方法。
  • 如果是这样,我该如何正确配置流? (无论是这个容器还是其他容器)
  • 那么在写入文件时会使用AVPacket吗? 并使用av_interleaved_write_frame将其写入文件?

谢谢