-t duration (input/output)
当在input选项前使用-t参数时(在 -i 参数前),限制从输入文件读取数据的持续时间。
当在output选项前使用时(在输出文件名前),当达到了设置的持续时间则停止向输出写。
持续时间必须是根据规范设置的,详见(ffmpeg-utils)duration一章。
-to 和-t 是互斥的,-t具有优先权。
-to position (output)
在position时刻停止向输出文件中写。position必须满足duration的规范。详见(ffmpeg-utils)duration一章。
-to 和-t 是互斥的,-t具有优先权。
-fs limit_size (output)
设置文件大小限制,以字节表示。当超出限制后不会有字节被写入文件。输出文件的大小会比所需文件稍小。
-ss position(input/output)
当用来作为一个输入选项时(在 -i之前),ffmpeg会寻找到 position时间的位置。注意在大多数的编码中ffmpeg不会精确的查找,因此 ffmpeg会查找到最接近position的位置。当转码开启了 -accurate_seek选项时(默认开启),在查找点和最终位置(position)之间的片段会被解码并抛弃。当做流拷贝或使用-noaccurate_seek选项时,在查找点和最终位置(position)之间的片段会被保留。
-sseof position (input/output)
类似使用 -ss参数,但是从文件末尾计算。文件的前面可以使用负值,0代表了文件的结束。
-itsoffset offset(input)
设置输入文件的偏移量
offset 必须是时间类型的参数,详见 ffmpeg-utils 的duration一章。
偏移量是加给输入文件的时间戳。指定一个正的偏移量意味着对应的流是被延迟了offset时间。
-timestamp date (output)
设置容器的时间戳记录。
date 必须是日期标准,详见 ffmpeg-utils的Date一章。
-metadata[:metadata_specifier] key=value (output,per-metadata)
设置元数据 key/value对。
一个可选的metadata_specifier可以设置在流,段或者program(?)的元数据上。
这个选项可以使用-map_metadata来覆盖。也可以使用空值来删除元数据。
例子:
ffmpeg -i in.nut -codec copy -bsf:v h264_mp4toannexb -ss 00:01:00 -to 00:04:10 -hls_time 9 -hls_list_size 0 -hls_segment_filename 'lj%03d.ts' out.m3u8
ffmpeg -i a0.ts -c copy -ss -01:00:00.000 a.ts
修改时间戳,让时间戳从01:00:00.000开始。
各种容器
ffmpeg -formats 查看各种容器。
ffmpeg -i a.mp4 a.dvd //转ps
mxf ffmpeg -i a.mp4 test.mxf