无意中发现了个为广播电视以及专业用途量身定制的FFmpeg。也是开源的,记录之。
ffmbc 全称是 FFMedia Broadcast,是个改版的FFmpeg,有如下功能:
创建可以导入Final Cut Pro, AVID Media Composer, Adobe Premiere中的文件
创建 XDCAM HD422 文件(.mov 或 .mxf)
创建 XDCAM IMX/D-10 文件(.mov 或 .mxf)
创建 AVID DNxHD 文件(.mov)
创建 DVCPROHD 文件(.mov 或 .mxf)
创建 ProRes 422 or 4444 文件(.mov)
转换 V210 文件
转换 HD YUV BT709 到 SD BT601 或者反过来
转换 AVCIntra 50 和AVCIntra 100
转换 MPEG-TS 文件
转换 AVCHD 文件
转换 ProRes 422 和 4444 文件
合并或分离音轨
创建 Quicktime 文件
从 HD 到 SD的颜色转换
等等。。。
项目主页上没有可执行文件,只有一个源代码压缩包。自己拿MinGW编译了一下源代码,发现和FFmpeg编译是一样的,编译后生成ffmbc.exe。
上传一个自己编译的ffmbc:http://download.csdn.net/detail/leixiaohua1020/6908055
项目主页:http://code.google.com/p/ffmbc/
更新记录(2014.7.28)======================
前一段时间受朋友之托,研究了一下ffmbc的使用,最后做成了一个使用说明。自己的感触是,ffmbc最大的改动就在于增加了一个-target选项。
ffmbc使用说明
1.编码IMX
编码视频为 IMX 30/50 MXF 或 MOV
1.1.命令行格式
输出Imx30
ffmbc -i < file > -target imx30 < file.mxf | file.mov >
输出Imx50
ffmbc -i < file > -target imx50 < file.mxf | file.mov >
注意:在MXF中,XDCAM要求至少为4声道。所以如果输入文件的音频流小于4声道,输出文件依然会被标记为4声道。
Target命令支持以下格式:"vcd", "svcd", "dvd", "dvcam", "dvcpro", "dvcpro50", "dvcprohd", "imx30", "imx50", "xdcamhd422"
1.2.示例
命令(转码为IMX30,MXF格式):
ffmbc -i test.flv -target imx30 test.mxf
转码前文件格式:
概要 完整名称 : E:\test\test.flv 文件格式 : Flash Video 文件大小 : 2.24 MiB 长度 : 30秒 0ms 平均混合码率 : 627 Kbps 视频 文件格式 : Sorenson Spark 编码设置ID : 2 长度 : 30秒 0ms 码率 : 562 Kbps 画面宽度 : 320像素 画面高度 : 180像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 位深度 : 8位 bits/(pixel*frame)(数据密度) : 0.390 大小 : 2.01 MiB (90%) 音频 文件格式 : MPEG Audio 格式版本 : Version 1 格式简介 : Layer 3 模式 : Joint stereo 扩展模式 : MS Stereo 编码设置ID : 2 编码设置ID/提示信息 : MP3 长度 : 29秒 858ms 码率模式 : CBR 码率 : 32.0 Kbps 声道 : 2声道 采样率 : 44.1 KHz 压缩模式 : 有损压缩 大小 : 117 KiB (5%) 编码函数库 : LAME3.98
转码后MXF文件格式(IMX30):
概要 完整名称 : E:\test\test.mxf 文件格式 : MXF Format_Commercial_IfAny : IMX 30 格式简介 : OP-1a 格式设置 : Closed / Complete 文件大小 : 152 MiB 长度 : 30秒 0ms 平均混合码率 : 42.6 Mbps 编码日期 : 2014-07-23 02:56:14.000 编码程序 : FFmbc OP1a Muxer 53.6.0 编码函数库 : FFmbc OP1a Muxer 53.6.0 视频 ID : 2 文件格式 : MPEG Video Format_Commercial_IfAny : IMX 30 格式版本 : Version 2 格式简介 : 4:2:2@Main 格式设置, BVOP : 否 格式设置, Matrix : 默认 格式设置, GOP : N=1 Format_Settings_Wrapping : Frame (D-10) 编码设置ID : 0D01030102010501-0401020201020105 长度 : 30秒 0ms 码率 : 30.3 Mbps 最大码率 : 30.0 Mbps 画面宽度 : 720像素 画面高度 : 576像素 原始高度 : 608像素 画面比例 : 16:9 帧率 : 25.000 fps 标准 : Component 色彩空间 : YUV 色度抽样 : 4:2:2 位深度 : 8位 扫描方式 : 隔行扫描 扫描顺序 : 奇数场(前场TFF)优先 压缩模式 : 有损压缩 bits/(pixel*frame)(数据密度) : 2.923 TimeCode_FirstFrame : 00:00:00:00 TimeCode_Source : Group of pictures header 大小 : 108 MiB (71%) 颜色初选 : BT.601 PAL 传输特质 : BT.709 矩阵系数 : BT.601 音频 ID : 3 文件格式 : PCM 格式设置, Endianness : Little Format_Settings_Wrapping : Frame (D-10) 编码设置ID : 0D01030102010501 长度 : 30秒 0ms 码率模式 : CBR 码率 : 12.3 Mbps 声道 : 4声道 采样率 : 48.0 KHz 位深度 : 16位 大小 : 43.9 MiB (29%) 其它 #1 ID : 1 Type : Time code 文件格式 : MXF TC TimeCode_FirstFrame : 00:00:00:00 TimeCode_Settings : Striped 其它 #2 Type : Time code 文件格式 : SMPTE TC 混合模式 : SDTI TimeCode_FirstFrame : 00:00:00:00
转码后MOV文件格式(IMX30):
概要 完整名称 : E:\test\test.mov 文件格式 : MPEG-4 Format_Commercial_IfAny : IMX 30 格式简介 : QuickTime 编码设置ID : qt 文件大小 : 113 MiB 长度 : 30秒 0ms 混合码率模式 : CBR 平均混合码率 : 31.5 Mbps 编码日期 : UTC 2014-07-23 03:03:09 标记日期 : UTC 2014-07-23 03:03:09 编码程序 : FFmbc 0.7 视频 ID : 1 文件格式 : MPEG Video Format_Commercial_IfAny : IMX 30 格式版本 : Version 2 格式简介 : 4:2:2@Main 格式设置, BVOP : 否 格式设置, Matrix : 默认 格式设置, GOP : N=1 混合模式 : MXF 编码设置ID : mx3p 长度 : 30秒 0ms 码率模式 : CBR 码率 : 30.0 Mbps 画面宽度 : 720像素 画面高度 : 576像素 原始高度 : 608像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 标准 : Component 色彩空间 : YUV 色度抽样 : 4:2:2 位深度 : 8位 扫描方式 : 隔行扫描 扫描顺序 : 奇数场(前场TFF)优先 压缩模式 : 有损压缩 bits/(pixel*frame)(数据密度) : 2.894 TimeCode_FirstFrame : 00:00:00:00 TimeCode_Source : Group of pictures header 大小 : 107 MiB (95%) 语言 : English 编码日期 : UTC 2014-07-23 03:03:09 标记日期 : UTC 2014-07-23 03:03:09 颜色初选 : BT.601 PAL 传输特质 : BT.709 矩阵系数 : BT.601 音频 ID : 2 文件格式 : PCM 格式设置, Endianness : Little 格式设置, Sign : Signed 编码设置ID : sowt 长度 : 29秒 858ms 码率模式 : CBR 码率 : 1 536 Kbps 声道 : 2声道 声道位置 : Front: L R 采样率 : 48.0 KHz 位深度 : 16位 大小 : 5.47 MiB (5%) 语言 : English 编码日期 : UTC 2014-07-23 03:03:09 标记日期 : UTC 2014-07-23 03:03:09
转码后MOV文件格式(IMX50):
概要 完整名称 : E:\test\test.mov 文件格式 : MPEG-4 Format_Commercial_IfAny : IMX 50 格式简介 : QuickTime 编码设置ID : qt 文件大小 : 184 MiB 长度 : 30秒 0ms 混合码率模式 : CBR 平均混合码率 : 51.5 Mbps 编码日期 : UTC 2014-07-23 03:06:35 标记日期 : UTC 2014-07-23 03:06:35 编码程序 : FFmbc 0.7 视频 ID : 1 文件格式 : MPEG Video Format_Commercial_IfAny : IMX 50 格式版本 : Version 2 格式简介 : 4:2:2@Main 格式设置, BVOP : 否 格式设置, Matrix : 默认 格式设置, GOP : N=1 混合模式 : MXF 编码设置ID : mx5p 长度 : 30秒 0ms 码率模式 : CBR 码率 : 50.0 Mbps 画面宽度 : 720像素 画面高度 : 576像素 原始高度 : 608像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 标准 : Component 色彩空间 : YUV 色度抽样 : 4:2:2 位深度 : 8位 扫描方式 : 隔行扫描 扫描顺序 : 奇数场(前场TFF)优先 压缩模式 : 有损压缩 bits/(pixel*frame)(数据密度) : 4.823 TimeCode_FirstFrame : 00:00:00:00 TimeCode_Source : Group of pictures header 大小 : 179 MiB (97%) 语言 : English 编码日期 : UTC 2014-07-23 03:06:35 标记日期 : UTC 2014-07-23 03:06:35 颜色初选 : BT.601 PAL 传输特质 : BT.709 矩阵系数 : BT.601 音频 ID : 2 文件格式 : PCM 格式设置, Endianness : Little 格式设置, Sign : Signed 编码设置ID : sowt 长度 : 29秒 858ms 码率模式 : CBR 码率 : 1 536 Kbps 声道 : 2声道 声道位置 : Front: L R 采样率 : 48.0 KHz 位深度 : 16位 大小 : 5.47 MiB (3%) 语言 : English 编码日期 : UTC 2014-07-23 03:06:35 标记日期 : UTC 2014-07-23 03:06:35
2.编码ProRes
编码视频为ProRes。
码率控制方面,有以下3种选项:
(1)-qscale < value > 或 -cqp < value >
每帧视频设置固定的量化因子。这是可变码率的方法。
(2)-profile < name > ,有以下几个选项:
*proxy
*lt
*std
*hq
如果没有设置码率,则该选项可以自动设置码率。该码率的值将会和apple encoder类似。
(3)-b < bitrate >
设置恒定码率。
输出像素方面,支持444 编码:
命令行中添加 -pix_fmt yuv444p10
2.1.命令行格式
ffmbc.exe -i < file > -vcodec prores -profile hq -pix_fmt yuv444p10 –acodec copy < file.mxf >
2.2.示例
命令
ffmbc.exe -i test.flv -vcodec prores -profile hq -pix_fmt yuv444p10 –acodec copy test _prores.mov
输入文件格式
概要 完整名称 : E:\test\test.flv 文件格式 : Flash Video 文件大小 : 2.24 MiB 长度 : 30秒 0ms 平均混合码率 : 627 Kbps 视频 文件格式 : Sorenson Spark 编码设置ID : 2 长度 : 30秒 0ms 码率 : 562 Kbps 画面宽度 : 320像素 画面高度 : 180像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 位深度 : 8位 bits/(pixel*frame)(数据密度) : 0.390 大小 : 2.01 MiB (90%) 音频 文件格式 : MPEG Audio 格式版本 : Version 1 格式简介 : Layer 3 模式 : Joint stereo 扩展模式 : MS Stereo 编码设置ID : 2 编码设置ID/提示信息 : MP3 长度 : 29秒 858ms 码率模式 : CBR 码率 : 32.0 Kbps 声道 : 2声道 采样率 : 44.1 KHz 压缩模式 : 有损压缩 大小 : 117 KiB (5%) 编码函数库 : LAME3.98
输出文件格式
概要 完整名称 : E:\test\test_prores.mov 文件格式 : MPEG-4 格式简介 : QuickTime 编码设置ID : qt 文件大小 : 46.6 MiB 长度 : 30秒 0ms 混合码率模式 : VBR 平均混合码率 : 13.0 Mbps 编码日期 : UTC 2014-07-23 04:25:20 标记日期 : UTC 2014-07-23 04:25:20 编码程序 : FFmbc 0.7 视频 ID : 1 文件格式 : ProRes 格式版本 : Version 1 编码设置ID : ap4h 长度 : 30秒 0ms 码率模式 : VBR 码率 : 13.0 Mbps 画面宽度 : 320像素 画面高度 : 180像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 色度抽样 : 4:4:4 扫描方式 : 逐行扫描 bits/(pixel*frame)(数据密度) : 9.003 大小 : 46.4 MiB (99%) 编码函数库 : ffm0 语言 : English 编码日期 : UTC 2014-07-23 04:25:20 标记日期 : UTC 2014-07-23 04:25:20 音频 ID : 2 文件格式 : MPEG Audio 格式版本 : Version 1 格式简介 : Layer 3 模式 : Joint stereo 扩展模式 : MS Stereo 编码设置ID : .mp3 长度 : 29秒 859ms 码率模式 : CBR 码率 : 32.0 Kbps 声道 : 2声道 声道位置 : Front: L R 采样率 : 44.1 KHz 压缩模式 : 有损压缩 大小 : 219 KiB (0%) 编码函数库 : LAME3.98 语言 : English 编码日期 : UTC 2014-07-23 04:25:20 标记日期 : UTC 2014-07-23 04:25:20
3.添加字幕
向视频文件中添加字幕。支持.srt和 .ass 文件(加字幕这个功能貌似ffmpeg本身也可以)。
注意:需要将libass库编译进FFmbc
选项:
file: set subtitles file
font: set font file
textcolor: set text color
boxcolor: set box background color (format is RRGGBBAA)
box: a box will surround the text
fontsize: set font size
text: set text to be burned
vmargin: set vertical margin
ffmbc -i < file > -vf sub=file=captions.srt:box=1:boxcolor=0x00000080:font=arial.ttf < out file >
4.编码XDCAMHD422
将视频编译为 XDCAMHD422 MXF或MOV
隔行编码:-target 前面添加-tff 或 -bff
ffmbc -i < file > -target xdcamhd422 < file.mxf >
注意:XDCAM要求至少2个单声道。使用-newaudio 和 -map_audio_channel.
举个例子,如下命令将一个立体声的视频转换为两个单声道的视频:
ffmbc -i < file > -target xdcamhd422 -an < file.mxf > -acodec pcm_s24le -ar 48000 -newaudio -acodec pcm_s24le -ar 48000 -newaudio -map_audio_channel 0:1:0:0:1:0 -map_audio_channel 0:1:1:0:2:0
3.1.命令行格式
ffmbc -i < file > -target xdcamhd422 -vtag < tag > < file.mov >
tag有如下选项:
* "xd54" XDCAM HD422 720p24 CBR
* "xd59" XDCAM HD422 720p60 CBR
* "xd5a" XDCAM HD422 720p50 CBR
* "xd5b" XDCAM HD422 1080i60 CBR
* "xd5c" XDCAM HD422 1080i50 CBR
* "xd5d" XDCAM HD422 1080p24 CBR
* "xd5e" XDCAM HD422 1080p25 CBR
* "xd5f" XDCAM HD422 1080p30 CBR
3.2.示例
命令
ffmbc -i test.flv -s 1280x720 -ac 1 -target xdcamhd422 test_xdcamhd422.mxf
注:
1.只支持单声道,如果输入文件为多声道,则会出现如下错误提示:
可以通过添加-ac 1,将输入文件转换为单声道。
2.只支持输入为1920x1080或者1280x720格式,其他分辨率不支持。如果输入文件为其他分辨率,则会出现如下错误提示:
可以通过分辨率变换,将输入文件分辨率转换为1920x1080或者1280x720。
转码前文件格式:
概要 完整名称 : E:\test\test.flv 文件格式 : Flash Video 文件大小 : 2.24 MiB 长度 : 30秒 0ms 平均混合码率 : 627 Kbps 视频 文件格式 : Sorenson Spark 编码设置ID : 2 长度 : 30秒 0ms 码率 : 562 Kbps 画面宽度 : 320像素 画面高度 : 180像素 画面比例 : 16:9 帧率模式 : 恒定 帧率 : 25.000 fps 位深度 : 8位 bits/(pixel*frame)(数据密度) : 0.390 大小 : 2.01 MiB (90%) 音频 文件格式 : MPEG Audio 格式版本 : Version 1 格式简介 : Layer 3 模式 : Joint stereo 扩展模式 : MS Stereo 编码设置ID : 2 编码设置ID/提示信息 : MP3 长度 : 29秒 858ms 码率模式 : CBR 码率 : 32.0 Kbps 声道 : 2声道 采样率 : 44.1 KHz 压缩模式 : 有损压缩 大小 : 117 KiB (5%) 编码函数库 : LAME3.98
转码后文件格式:
概要 完整名称 : E:\test\test_xdcamhd422.mxf 文件格式 : MXF Format_Commercial_IfAny : XDCAM HD422 格式简介 : OP-1a 格式设置 : Closed / Complete 文件大小 : 182 MiB 长度 : 30秒 0ms 平均混合码率 : 51.0 Mbps 编码日期 : 2014-07-23 03:23:12.000 编码程序 : FFmbc OP1a Muxer 53.6.0 编码函数库 : FFmbc OP1a Muxer 53.6.0 视频 ID : 2 文件格式 : MPEG Video Format_Commercial_IfAny : XDCAM HD422 格式版本 : Version 2 格式简介 : 4:2:2@High 格式设置, BVOP : 是 格式设置, Matrix : 默认 格式设置, GOP : M=3, N=12 Format_Settings_Wrapping : Frame 编码设置ID : 0D01030102046001-0401020201040300 长度 : 30秒 0ms 码率 : 50.0 Mbps 画面宽度 : 1 280像素 画面高度 : 720像素 画面比例 : 16:9 帧率 : 25.000 fps 标准 : Component 色彩空间 : YUV 色度抽样 : 4:2:2 位深度 : 8位 扫描方式 : 逐行扫描 压缩模式 : 有损压缩 bits/(pixel*frame)(数据密度) : 2.170 TimeCode_FirstFrame : 00:00:00:00 TimeCode_Source : Group of pictures header 大小 : 179 MiB (98%) 颜色初选 : BT.709 传输特质 : BT.709 矩阵系数 : BT.709 音频 ID : 3 文件格式 : PCM 格式设置, Endianness : Little Format_Settings_Wrapping : Frame (AES) 编码设置ID : 0D01030102060300 长度 : 30秒 0ms 码率模式 : CBR 码率 : 768 Kbps 声道 : 1声道 采样率 : 48.0 KHz 位深度 : 16位 大小 : 2.75 MiB (2%) 其它 #1 ID : 1 Type : Time code 文件格式 : MXF TC TimeCode_FirstFrame : 00:00:00:00 TimeCode_Settings : Striped 其它 #2 Type : Time code 文件格式 : SMPTE TC 混合模式 : SDTI TimeCode_FirstFrame : 00:00:00:00
相关推荐
ffmbc——为广播电视以及专业用途量身定制的FFmpeg ffmbc 全称是 FFMedia Broadcast,是个改版的FFmpeg,有如下功能: 创建可以导入Final Cut Pro, AVID Media Composer, Adobe Premiere中的文件 创建 XDCAM HD422 ...
这个压缩包 "安卓Android源码——FFMpeg.rar" 很可能包含了一个将 FFmpeg 集成到 Android 应用中的示例源代码。 FFmpeg 的主要组件包括: 1. **libavcodec**:这是 FFmpeg 的核心编码库,提供了各种音频和视频编码...
ffmpeg/ffplay是当今多媒体领域的王者,很多很多的人想研究学习ffmpeg/ffplay,但苦于ffmpeg/ffplay庞大的代码量,令人望而生畏。为帮助更多的人研习ffmpeg/ffplay,在保持ffmpeg/ffplay体系架构的完整性的前提下,...
FFmpeg滤镜开发——人脸识别 人脸识别是在计算机视觉和机器学习领域中的一种技术,旨在通过图像或视频中检测、识别和验证人的脸部信息。在FFmpeg中,人脸识别可以通过滤镜来实现。滤镜是FFmpeg中的一种插件,能够对...
FFmpeg 是一个强大的开源多媒体处理框架,广泛应用于音频和视频的编码、解码、转换以及流媒体处理。在Android平台上,由于原生代码(C/C++)与Java代码的交互需求,我们需要将FFmpeg编译为.so动态链接库,以便在...
win10下 ffmpeg 编译成android可以使用的so文件(csdn)————程序
3. FFmpeg转封装:例如将视频文件转为MP4格式、FLV格式、M3U8格式以及视频文件切片、视频流抽取等。4. FFmpeg 转码:软编码H264与H265、硬编码等5. FFmpeg流媒体:FFmpeg录制RTMP流、RTSP流、HTTP流等6. FFmpeg 滤镜...
《深入解析Android源码中的rockplayer_ffmpeg》 在Android操作系统中,多媒体播放是一个至关重要的功能,而RockPlayer是一款广受欢迎的视频播放器,它以其强大的解码能力和流畅的播放体验赢得了用户喜爱。本篇文章...
■ 本源码运行环境为Vs+FFmpeg,主要功能编码/录制麦克风声音并保存为mp3文件 ■ 本源码对应的文章介绍:https://blog.csdn.net/automoblie0/article/details/126108806 ■ 本源码对应的运行效果介绍:...
ffmpeg/ffplay是当今多媒体领域的王者,很多很多的人想研究学习ffmpeg/ffplay,但苦于ffmpeg/ffplay庞大的代码量,令人望而生畏。为帮助更多的人研习ffmpeg/ffplay,在保持ffmpeg/ffplay体系架构的完整性的前提下,...
教程可能涵盖如何使用FFmpeg命令行工具将一种格式转换为另一种,以及如何使用libavcodec库在代码中实现编解码。 其次,FFmpeg的解封装功能允许它从容器格式中分离音频和视频流。例如,它可以将一个MKV文件中的不同...
———————————————— 版权声明:本文为CSDN博主「池存祥」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...
FFmpeg.AutoGen是一个C#项目,它为FFmpeg库提供了自动化的绑定,使得在C#环境中可以方便地调用FFmpeg的功能。这个项目的核心在于利用FFmpeg的原生API,并通过自动化工具(如SWIG或者SharpGen)生成C#接口,从而在...
FFmpeg 是一个强大的开源工具套件,用于处理多媒体文件,包括视频、音频转换、流处理等。`ffmpeg-gl-transition` 是 FFmpeg 的一个扩展,它引入了OpenGL(Graphics Library)支持,使得在视频剪辑中实现平滑的过渡...
由于C#原生并不支持FFmpeg的API,`ffmpeg.autogen`的使用变得尤为重要,它通过SWIG(Software Interface Generator)或者其他自动绑定工具,将FFmpeg的C接口转换为C#友好的类和方法。 在C#中,使用FFmpeg处理视频...
在Android平台上,FFmpeg的使用为开发者提供了处理多媒体内容的强大工具。本资源包含了FFmpeg 6.1和4.0.2两个版本,支持32位和64位的Android设备,使得在不同架构的Android设备上运行多媒体应用成为可能。 1. **...
FFmpeg是一款强大的开源多媒体处理工具,它包含了视频、音频的编码、解码、转换、流媒体等功能。...通过学习和实践,我们可以构建自己的视频播放器,不仅能满足个人兴趣,还能为专业开发工作积累宝贵经验。
3. 配置脚本和Makefile:用于构建和安装FFmpeg的脚本,用户可以通过这些脚本来编译和定制FFmpeg。 4. 文档:可能包含README、CHANGELOG、LICENSE等文件,分别介绍了项目概况、版本变更和许可信息。 5. 示例和测试...
FFmpeg是一款强大的、开源的跨平台多媒体处理工具,它能够处理各种音频和视频格式,包括转换、合并、分割以及抽取视频帧等操作。在本场景中,我们将关注如何使用FFmpeg将MP4视频文件转换为一系列JPG格式的图片帧。 ...