看起来ffmepg现在有了分段器,或者至少有一个命令行选项 -f segment 在文档中有提到。
这是否意味着我可以仅使用ffmpeg将视频实时转码为h.264,并生成适用于IOS的.m3u8流分段?如果是这样,那么将任意视频文件转码为分段h.264 aac 640 x 480的ios兼容流的命令是什么?
看起来ffmepg现在有了分段器,或者至少有一个命令行选项 -f segment 在文档中有提到。
这是否意味着我可以仅使用ffmpeg将视频实时转码为h.264,并生成适用于IOS的.m3u8流分段?如果是这样,那么将任意视频文件转码为分段h.264 aac 640 x 480的ios兼容流的命令是什么?
可以使用-f segment将视频分割成多个片段并在iOS设备上进行播放。FFmpeg将创建.ts的分段文件,您可以使用任何Web服务器来提供这些文件。
工作示例(声音已禁用)- FFmpeg版本N-39494-g41a097a:
./ffmpeg -v 9 -loglevel 99 -re -i sourcefile.avi -an \
-c:v libx264 -b:v 128k -vpre ipod320 \
-flags -global_header -map 0 -f segment -segment_time 4 \
-segment_list test.m3u8 -segment_format mpegts stream%05d.ts
提示:
我是如何编译带有额外rtmp支持的FFMPEG - 以获取来自Flash媒体服务器的视频流的。
export PKG_CONFIG_PATH="/usr/lib/pkgconfig/:../rtmpdump-2.3/librtmp"
./configure --enable-librtmp --enable-libx264 \
--libdir='../x264/:/usr/local/lib:../rtmpdump-2.3' \
--enable-gpl --enable-pthreads --enable-libvpx \
--disable-ffplay --disable-ffserver --disable-shared --enable-debug