我正在尝试使用以下命令每60秒将输入流保存到单独的文件中:

ffmpeg -i Input -vcodec libx264 -s 1920x1080 -pix_fmt yuv422p10le -aspect 16:9
 -acodec pcm_s24le -ac 2 -ar 48000 -f segment -strftime 1 -segment_time 60
-y "e://o1/%H-%M-%S.mxf"
但出现此错误:
[mxf @ 000002111453c640] h264 profile not supported0:00.62 bitrate=N/A speed=1.23x
[mxf @ 000002111453c640] could not get h264 profile
av_interleaved_write_frame(): Operation not permitted
注意:以下3个命令可以正常使用:
1- ffmpeg -i Input -vcodec libx264 -s 1920x1080 -pix_fmt yuv422p10le -aspect 16:9
 -acodec pcm_s24le -ac 2 -ar 48000 -f segment -strftime 1 -segment_time 60
-y "e://o1/%H-%M-%S.ts"

2- ffmpeg -i Input -vcodec libx264 -s 1920x1080 -pix_fmt yuv422p10le -aspect 16:9
 -acodec pcm_s24le -ac 2 -ar 48000 -f mxf -f segment -strftime 1 -segment_time 60
-y "e://o1/%H-%M-%S.mkv"

3- ffmpeg -i Input -vcodec libx264 -s 1920x1080 -pix_fmt yuv422p10le -aspect 16:9
 -acodec pcm_s24le -ac 2 -ar 48000 out.mxf"
(我认为编码器的私有(private)选项未用于分段,但我不知道如何找到它。)
问:如何每60秒将输入的实时流保存到单独的mxf文件中? (使用AVC编解码器+ MXF格式)

最佳答案

MXF多路复用器依赖于从每个H.264 KF数据包中提取额外数据,当通过网段用户调用该数据时,该数据似乎丢失了。
将以下内容添加到原始命令以附加元数据

-bsf:v extract_extradata,dump_extra=k

09-10 04:34