ffmpeg 无法为输出文件 #0 写入 header
ffmpeg Could not write header for output file #0
行
ffmpeg -f h264 -i pipe111.fifo -c:v copy -f mp4 -
报错:
Input #0, h264, from 'pipe111.fifo':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 480x270, 6 fps, 6 tbr, 1200k tbn, 12 tbc
[mp4 @ 0x1562130] muxer does not support non seekable output
Output #0, mp4, to 'pipe:':
Metadata:
encoder : Lavf56.9.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 480x270, q=2-31, 6 fps, 1200k tbn, 1200k tbc
Stream #0:0 -> #0:0 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
但是
ffmpeg -f h264 -i pipe111.fifo -c:v copy -f mp4 /some/file/in/fs.mp4
工作正常。为什么?没有错误。
由于这个问题仍然很受欢迎我想从这里写一个快速回答https://superuser.com/questions/760056/receiving-ffmpeg-error-22-when-piping-data-to-stdout
mp4 容器需要能够在文件中查找。管道是一条流,不可能在其中寻找。尝试使用像 ts 或 flv 这样的流媒体容器。
行
ffmpeg -f h264 -i pipe111.fifo -c:v copy -f mp4 -
报错:
Input #0, h264, from 'pipe111.fifo':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 480x270, 6 fps, 6 tbr, 1200k tbn, 12 tbc
[mp4 @ 0x1562130] muxer does not support non seekable output
Output #0, mp4, to 'pipe:':
Metadata:
encoder : Lavf56.9.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 480x270, q=2-31, 6 fps, 1200k tbn, 1200k tbc
Stream #0:0 -> #0:0 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
但是
ffmpeg -f h264 -i pipe111.fifo -c:v copy -f mp4 /some/file/in/fs.mp4
工作正常。为什么?没有错误。
由于这个问题仍然很受欢迎我想从这里写一个快速回答https://superuser.com/questions/760056/receiving-ffmpeg-error-22-when-piping-data-to-stdout
mp4 容器需要能够在文件中查找。管道是一条流,不可能在其中寻找。尝试使用像 ts 或 flv 这样的流媒体容器。