[ffmpeg]FFmpeg怎么直接获取视频元数据中的总时长
[ffmpeg]FFmpeg怎么直接获取视频元数据中的总时长
以前一直以为知道pFormatContext后,通过其成员变量duration就是视频长度。但是通过试验,其数值都是很大的负数。一看就不对。最近看av_dump_format(),看到此函数输出了视频的时长。然后看了下源码。找到了获取视频的时长的方法:
直接贴出:
- if(pFormatCtx->duration != AV_NOPTS_VALUE){
- int hours, mins, secs, us;
- int64_t duration = pFormatCtx->duration + 5000;
- secs = duration / AV_TIME_BASE;
- us = duration % AV_TIME_BASE;
- mins = secs / 60;
- secs %= 60;
- hours = mins/ 60;
- mins %= 60;
- printf("%02d:%02d:%02d.%02d\n", hours, mins, secs, (100 * us) / AV_TIME_BASE);
- }
这个方法调用要在执行完avformat_find_stream_info()后使用。
视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 input.yuv
YUV序列转AVI
ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi
来源:http://blog.csdn.net/rootusers/article/details/41383453
热门文章推荐
- [FFmpeg]ffmpeg各类参数说明与使用示例
- [FFmpeg]ffmpeg命令参数详解(帮助说明)强大所有参数
- [ffmpeg]FFmpeg参数命令及用法整理(很全面详细)
- [FFmpeg]图文介绍windows下实现编译ffmpeg工程的详细步骤
- [ffmpeg]ffmpeg使用参数的中文说明
- [ffmpeg]如何使用ffmpeg下载分段并加密的m3u8视频流
- [FFmpeg]php下用ffmpeg扩展实现视频转换截图
- [FFmpeg]ffmpeg支持的格式全解析
请稍候...