跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请问个在不下载视频的情况下,怎么从视频链接(MP4)获取视频时长
未分類
26 9 月 2020

请问个在不下载视频的情况下,怎么从视频链接(MP4)获取视频时长

请问个在不下载视频的情况下,怎么从视频链接(MP4)获取视频时长

資深大佬 : Kvip 0

最近在做爬虫,需要从一个在线链接( MP4 )里面获取视频的时长,不需要下载该视频,请问下有没有什么好方法可以直接从这链接里面知道视频的时长。我目前用到是 requests 库请求了该视频链接,发现 request 后就直接帮我下载该视频了,可我不需要下载视频啊。

我用浏览器打开了该链接,浏览器直接给我播放了该视频,播放器也能显示视频的时长,我又翻了下控制台的网络请求数据,里面并没有看到视频的时长数据。

所以我想知道,有没有方法可以可以视频链接直接获取视频的时长数据(不下载视频)。坐的大佬指教!

(视频链接)[https://prv-cdn.2haohr.com/d7391d15e49e41379cffcf152122e719?e=1600933985&token=kHQPThzbVJmJKaDo5HupfecLjZQcm5BOxUjlENLs:6nKHZx0bsaQP3XL9ISpGW5vWQds=]

大佬有話說 (13)

  • 資深大佬 : wgbx

    let a = document.getElementsByTagName(‘video’)
    a[0].duration

    dom 操作忘差不多了,将就看吧

  • 資深大佬 : monkeyWie

    找个 MP4 的解码库,或者自己解码,一般这种信息都会存在 header 里,也就是说只需要下载 header 数据就可以获得了

  • 資深大佬 : hello2060

    mp4 的长度在 moov atom 里面,可能在文件头,也有可能在文件尾。最坏情况你就是需要下载完整个文件才能知道时长

  • 資深大佬 : hello2060

    播放器不需要整个文件就能播放的话 moov 就在头部

  • 資深大佬 : hello2060

    其实你要用 python 分析的话也挺简单的,mp4 的结构挺简单的,就把时长和 timebase 读出来两个处理下就行

  • 資深大佬 : KuroNekoFan

    preload=”metadata”?

  • 資深大佬 : KuroNekoFan

    哦爬虫…

  • 資深大佬 : westoy

    现在一般都是 m3u8 吧, 把 EXTINF 统加一下

  • 資深大佬 : westoy

    哦, 没注意那个链接

  • 資深大佬 : newmlp

    MP4 时长一般保存在文件头或文件尾,不需要下载完整文件

  • 資深大佬 : laravel

    ffprobe -i https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_1920_18MG.mp4 -show_entries format=duration -v quiet -of csv=”p=0″

    stackoverflow 的答案

  • 資深大佬 : laravel

    output: 30.526667

  • 資深大佬 : yuzo555

    ffprobe
    或者自己研究下 mp4 的文件头结构,下载前几 KB 就行了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具