【问题标题】:FFMPEG : Redirecting MP4 muxed data to socketFFMPEG:将 MP4 混合数据重定向到套接字
【发布时间】:2014-10-16 01:50:03
【问题描述】:

我正在使用 FFMPEG 库将 H.264 和 AAC 帧复用到 MP4 文件。我可以使用命令行和 C 程序来做到这一点。

现在,我不想将混合的 MP4 数据写入文件,而是将这些混合的数据直接写入套接字或管道。命令行选项将不胜感激。我的实际目标是编写一个 C 程序。

我尝试使用协议 tcp 和 udp,但它们不适用于 Mp4 格式。他们正在使用 matroska 格式。

以下工作正常。

ffmpeg -i Cartoon.mjpeg -f matroska -r 25 -vcodec copy tcp://10.99.19.224:8888

以下不是,并给出如下错误。

ffmpeg -i Cartoon.mjpeg -f mp4 -r 25 -vcodec copy tcp://10.99.19.224:8888

Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

有什么帮助或建议吗?提前谢谢你。

【问题讨论】:

    标签: ffmpeg mp4


    【解决方案1】:

    刚刚获得了一种使用片段直接在套接字上输出多路复用 MP4 输出的方法。我知道使用片段有一些限制,但这可能很有用。

    https://www.ffmpeg.org/ffmpeg-formats.html#Example-1

    所以下面的命令行现在对我有用。我可以播放从 8888 端口接收的 MP4 文件。 ffprobe 还确认它确实是一个 MP4 文件。

    ffmpeg -i Stingray.264 -f mp4 -movflags isml+frag_keyframe -vcodec copy tcp://10.99.19.224:8888
    

    现在我将不得不编写 C 程序来务实地做到这一点。

    【讨论】:

      【解决方案2】:

      如果你查看所有的 ffmpeg 输出,有一行:

      [mp4 @ 0033d660] 复用器不支持不可搜索的输出

      mp4 容器需要回到文件开头写入附加信息。你的网络套接字不能做的事情。所以这里不能使用mp4容器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多