使用 FFMPEG 编码 XDCAM MXF [已关闭]

问题描述 投票:0回答:1

我想使用 FFMPEG 编码为 XDCAM HD422 MXF 文件。我已经搜索过,但找不到正确的命令行参数来使用。

编码符合 XDCAM 的输出文件需要哪些命令行参数?

ffmpeg
1个回答
2
投票

当您不确切知道如何设置某些容器和/或编解码器时,请始终使用

avformat_alloc_output_context2()
从文件扩展名(本例中为“mxf”)猜测格式,这样您就可以开始了!

AVFormatContext * formatContext( 0 );
avformat_alloc_output_context2( &formatContext, 0, 0, "anything.mxf" );

执行此操作时,

formatContext
将设置已设置的默认编解码器,请将它们与:

  • m_formatContext->oformat->video_codec
  • m_formatContext->oformat->audio_codec

对于“mxf”,默认音频/视频编解码器 AV_CODEC_ID_MPEG2VIDEOAV_CODEC_ID_PCM_S16LE

但是,在这种情况下,默认设置是不够的。您有特定的相机型号。因此,通过一些示例视频,您可以使用

ffprobe some_sample.mxf

检查确切的格式/编解码器

我在这里找到了这些示例:http://www.hamburgpromedia.com/Testfiles/MXF_MPEG_Testfiles.php

  • XDCAM_HD422_720p50.mxf
  • XDcam_HD4221080i50.mxf

FFprobe 告诉我视频编解码器与“mxf”的默认编解码器相同(AV_CODEC_ID_MPEG2VIDEO),但音频编解码器是AV_CODEC_ID_PCM_S24LE

那么,现在该怎么办?只需更改audio_codec即可:

m_formatContext->oformat->audio_codec = AV_CODEC_ID_PCM_S24LE;

准备好了!您的相机具有相同的格式和编解码器!只需继续创建音频/视频流、打开编解码器等...

© www.soinside.com 2019 - 2024. All rights reserved.