【发布时间】:2016-08-14 09:35:37
【问题描述】:
我正在使用 FFMPEG 库将 H.264 和 AAC 帧复用到 Matroska (.mkv) 文件。我可以使用命令行和 C 程序来做到这一点。
现在,我不想将混合的 matroska 数据写入文件,而是将这些混合数据直接写入套接字或管道。我的实际目标是编写一个 C 程序,将混合数据发送到套接字,服务器将接收这些混合数据。
我尝试使用协议 tcp。他们正在使用 matroska 格式。 因此,我的 C 程序能够通过套接字成功发送混合数据,并且服务器能够接收这些混合数据。
但是当我对收到的文件应用 ffprobe 命令时,我得到持续时间和比特率字段 N/A。当我尝试使用 vlc 播放此文件时,我无法找到该文件并获得垃圾持续时间。
在 ffprobe 的输出下方。
ffprobe version N-65784-g50a35f0 Copyright (c) 2007-2014 the FFmpeg developers
built on Aug 25 2014 12:31:36 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
configuration:
libavutil 54. 5.100 / 54. 5.100
libavcodec 56. 0.101 / 56. 0.101
libavformat 56. 1.100 / 56. 1.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.101 / 5. 0.101
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
Input #0, matroska,webm, from 'Array.mkv':
Metadata:
ENCODER : Lavf54.29.104
Duration: N/A, start: 1412858260.281000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg), 2000x1496 [SAR 1:1 DAR 250:187], 27 fps, 27 tbr, 1k tbn, 1k tbc (default)
Stream #0:1: Video: mjpeg, yuvj422p(pc, bt470bg), 2000x1496 [SAR 1:1 DAR 250:187], 27 fps, 27 tbr, 1k tbn, 1k tbc (default)
Stream #0:2: Video: mjpeg, yuvj422p(pc, bt470bg), 2000x1496 [SAR 1:1 DAR 250:187], 27 fps, 27 tbr, 1k tbn, 1k tbc (default)
Stream #0:3: Video: mjpeg, yuvj422p(pc, bt470bg), 2000x1496 [SAR 1:1 DAR 250:187], 27 fps, 27 tbr, 1k tbn, 1k tbc (default)
如您所见,持续时间和比特率字段显示 N/A。但是我得到了正确的开始时间。
有什么帮助或建议吗?提前谢谢你。
【问题讨论】: