首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用FFmpeg API获取flv视频时长

哈喽,这一篇记录一个小小的关于FFmpeg的使用,借助FFmpeg的API接口获取flv格式视频时长。...发现获取视频时长为0,按照排查问题的一般思路,试试别的格式的文件是否也会有问题。尝试将文件更换为MP4文件,发现可以正常获取时长,如下图: ?...甚是不理解啊,经查阅资料发现,对于flv文件需要首先调用avformat_find_stream_info, 才可正常的获取视频时长,这一过程中,同时还发现另外一种获取视频时常的方式:FFmpeg对于...cout << "flv file duratio: " << seconds << std::endl; system("pause"); return 0;} 其中:另外一种获取视频时长的方式为...终于可以成功获取flv格式视频时长。可以动手去试试了!

3.8K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ffmpeg检查视频文件时长

    视频播放时,经常会遇到: 1、不同播放器显示的文件时长不一样 2、视频转码后,文件时长发生了变化 3、视频播到后面,只有画面没有声音 等各种异常,这时我们可以检查一下原视频时长 但是原视频时长也有多个值...,分别是容器时长、音视频时长、解码后播放时长,这几个值可能不一样,就导致了不同播放器显示值不一样,不同播放时也因此表现得不一样 容器时长(container duration)的获取方法: ffprobe...(stream duration)的获取方法: ffprobe.exe -v error -select_streams v:0 -show_entries stream=duration -of default...video stream的时长作为播放时长 另外,并不是所有格式的视频,会在音视频流级别保存了时长,这时可能会拿不到时长 解码后文件播放时长(get duration by decoding) 可以通过...ffmpeg命令,先完全解码,然后获取到文件时长 ffmpeg.exe -i input.mp4 -f null - image.png 可以看到时长为2:02:33,和container duration

    24K159

    FFMPEG-如何对视频时长切片与压缩

    本文介绍如何用ffmpeg开源组件按时长进行切片,举一个例子,一个视频网站,拿到一个时长1.5小时的电影,用户点击播放时,常用的技术方案就是把一个完整的大文件,转码后切成按固定时长的小文件,分发到cdn...上去,这样用户就可以实现就近下载,包括拖放等操作,这里面有比较多的技术细节,本文只讨论第一步,按时长切片。...一 获取视频时长 ffmpeg安装后,直接执行ffmpeg -i 文件就可以从内容中获取时长,如下图所示,其中的Duration就是时长 wangyachangdeMacBook-Pro:ffmpeg...wangyachang$ /usr/local/ffmpeg/bin/ffmpeg -i movie.mp4 ffmpeg version 3.0.2 Copyright (c) 2000-2016.../usr/bin/env python # -*- coding: UTF-8 -*- #本脚本使用ffmpeg分割音视频文件,分割过程不进行转码或压缩 import subprocess import

    2.2K10

    av_dump_format经验分析,FFmpeg获取媒体文件总时长(FLV获取时长的误区)

    播放器有个功能,当用户打开视频时,需要读取媒体文件的总时长等信息,不巧的时,获取FLV时总失败,下面来具体分析下FLV和MP4获取时长的原因和区别: 播放器有个获取MediaInfo的接口,功能如下:...return -1; } //video if(stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO){ //获取视频时长...总是打印duration不合法: 很奇怪的是,使用av_dump_format函数可以看到Duration: Input #0, flv, from '/home/zhenghui/视频/1080P.flv...200 kb/s, 30 fps, 30 tbr, 1k tbn Stream #0:1: Audio: adpcm_swf, 44100 Hz, stereo, s16, 352 kb/s 就翻了翻ffmpeg...return -1; } //video if(stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO){ //获取视频时长

    15100

    FFmpeg获取视频流信息

    文章目录 前言 一、需求 二、源码 三、运行结果 前言 本文记录用 FFmpeg 获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长…),所用的工程基于上个博客编译成功的工程:使用FFmpeg4.3.1...的SDK官方开发包编译ffmpeg.c 一、需求 我们经常需要知道一个媒体文件所包含的媒体流的信息,比如文件格式、播放时长、码率、视音频编码格式,视频分辨率,帧率,音频属性等信息。...如何使用 FFmpeg API 获取这些信息呢?...媒体容器封装格式 文件播放时长 文件平均码率(视频+音频) 视频属性(编码器名称、视频分辨率、帧率、编码码率) 音频属性(编码器名称、采样率、声道数、编码码率) 二、源码 ffmepg.h 文件中添加我们自定义的结构体...long_name); printf("audioCodecName = %s\n", avmi->audioCodecName); } } } // 获取视频流的基本信息

    45410

    视频推荐视频时长bias问题

    炼丹笔记干货 作者:快手社科推荐团队 短视频(比如快手、抖音和视频号等)日益成为人们日常生活中最重要娱乐方式。短视频推荐需要解决的一个基础问题是,如何准确地预估用户对某个视频的观看时长。...用户对一个视频的观看时长受到两方面影响,一是用户对视频内容的满意程度,二是视频本身的长度(duration)。...图二、 (a)视频观看时长视频长度的关系 图二、 (b)不同时间区间视频分布的变化 为了解决上述的问题, 论文提出使用因果推断的方法消除时长预估任务中的 duration bias 问题。...视频 duration 通过 D->V->W 和 D->W 两条路径影响时长预估,其中 D->W 表明视频 duration 与观看时长具有直接的因果关系,这也是符合预期的,因为相较于短视频,用户更加倾向于在长视频上停留更长的时间...但是,D->V->W 表示曝光视频的 duration 分布会影响观看时长的预估,这主要是因为推荐系统倾向于推荐长视频来提升 app 时长,导致曝光视频中长视频占比过大;而模型训练时长视频会获得比较大的权重

    4.6K30

    cc++使用ffmepg库获取视频信息(宽高时长等)

    备忘一个使用ffmepg获取视频的宽高时长等信息的代码,是使用ffmepg的api不是通过exe命令行的方式。至于用的ffmepg库和头文件等,我传github和CSDN各一份。地址在最后。...下面是代码,首先: //引入ffmpeg的头文件和lib,自己处理好库的路径 extern "C" { #include "libavcodec/avcodec.h" #include "libavformat...= 0) { printf("无法打开视频文件\n"); return -1; } // 查找视频文件中的流信息 if (avformat_find_stream_info(formatContext...\n"); return -1; } // 获取视频时长 int64_t duration = formatContext->streams[videoStreamIndex]->duration...timeBase.den; int nWidth = codecParameters->width; int nHeight = codecParameters->height; printf("视频时长

    61420

    ffmpeg hevc_ffmpeg视频解码

    本次目标: 1)将容器中的音频码流和视频码流分离出来。 2)针对mp4文件中的码流情况进行修复。...我们常规的H264帧数据保存格式是annexb,是具有起始码0x000001或0x00000001;mpeg-ts文件中保存的是视频码流是存在起始码的,而在mp4文件中没有起始码。...H.264视频编码格式主要分为两种形式,即带起始码的H.264码流和不带起始码的H.264码流,其中,前者就是我们比较熟悉的H264、X264;后者就是指AVC1。...AAC码流(mp4a):保存一帧码流数据前,补充相应的adts头; H264码流(avc1):使用h264_mp4toannexb过滤器,对视频码流进行处理。...More:解析h264视频码流 视频播放效果: 原mp4文件: out.h264码流文件: out.aac文件: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    1.2K10

    使用ffmpeg去除视频水印【ffmpeg

    一、使用前提 1.确保已经安装ffmepg工具,在Linux命令行中查看ffmepg的版本 ffmpeg -version 我自己安装的是 ffmpeg version 2.8.15 Copyright...(c) 2000-2018 the FFmpeg developers 2.找一个有水印的视频,可以放在当前命令输入的同级目录进行测试 比如1.MP4,一下是我视频的截图 ?...可以从视频中完整截取一张图片,相关软件比如PR,都有视频截取帧的工具。下面是PR生成出来的一张图片,这样会更准确些。 当然也可以自己大概的截图,裁剪下,要保证的视频的分辨率对应。 ?...2.用画图工具,打开视频的截图,计算水印的位置 计算得到,我的视频水印坐标为:50,640....备注:查看ffmpeg命令帮助,man ffmpeg

    8K30

    FFmpeg 压缩视频

    比如iMovie的成片模版: 经过四天的捣鼓后,喜提成品: 然后,屁颠屁颠发过去给老姐邀功 可是 FFmpeg压缩视频 这小事情,我将清晰度和尺寸降一降,总还行吧。...cut cut cut掉,怎么可以为了压缩一个视频,就购买一个会员呢? 众里寻他千百度 蓦然回首 那人却在 灯火阑珊处 FFmpeg可以满足我方需求。 那么,我们要怎么使用它呢?...改变码率 视频的原码率是 2.1Mb/s ,压缩为 1.5Mb/s ffmpeg -i input.mov -b:v 1.5M output.mp4 -b:v 1.5M : 指定码率 -b:v :指定视频的码率...去除视频声音 ffmpeg -i input.mp4 -vcodec copy -an output.mp4 -an: 去掉音频 -vcodec:视频选项 一般后面加copy表示拷贝 6....提取视频中的音频 ffmpeg -i input.mp4 -acodec copy -vn output.mp3 // -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝 更多内容参考

    1.2K20
    领券