尝试用FFMPEG编码XDCAM,但是不能知道编码器/ HD422 /mux的具体设置,任何人都可以向我展示示例代码或给出一些建议吗?
发布于 2013-10-09 05:38:19
当您不知道如何设置某些容器和/或编解码器时,请始终使用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_MPEG2VIDEO和AV_CODEC_ID_PCM_S16LE
但是,在这种情况下,默认设置是不够的。你有一个特殊的相机模型。因此,使用一些示例视频,您可以使用ffprobe some_sample.mxf
检查确切的格式/编解码器。
我在这里发现了这些样本:Testfiles.php
(AV_CODEC_ID_MPEG2VIDEO),告诉我视频编解码器与"mxf“AV_CODEC_ID_PCM_S24LE.的默认值相同,但是音频编解码器是AV_CODEC_ID_PCM_S24LE.。
那么,现在该怎么办?只需更改audio_codec:
m_formatContext->oformat->audio_codec = AV_CODEC_ID_PCM_S24LE;
准备好的!您有相同的格式和编解码器的相机!只需继续创建音频/视频流、打开编解码器等.
https://stackoverflow.com/questions/19263601
复制相似问题