您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

一个更好的视频码头

时间:2023-04-11 13:50:57  来源:Linux中国  作者:

之前,我在写有关embark的内容,我的第一设备为启动远程视频流设计了一个新的 embark。embark 的作者 Omar Antolín Camarena 不仅阅读了这篇内容,还点评了一下我认为值得跟进的一些重大改进。

首先,你应该记得我们曾定义过一个检测视频 URL 的函数:

    (defun jao-video-finder 
      "Check whether we're looking at a video URL.
    Return (video-url . 

当我们得到了一个非空的 url值,即便它不是一个视频链接,但它仍然是一个确切的 URL,并且 embark 已有了一个url类别,所以我们可以借助默认的 URL 寻检器存储一个新的句法分析,语句如下:

    (when-let ((url (thing-at-point-url-at-point)))
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

这里有一个潜在的缺点就是:我们重写了 embark 的寻检器,
embark-target-url-at-point,所以我们可能更愿意保留后者。

实际上多亏了 embark 的 目标转换器我们才能做成。我们可以在embark-transformers-alist中添加任意一个函数,应用于任何一个给定类别的目标,而 embark 会将其转换后的值应用于它的操作中。Omar 很贴切地把这个过程称为“目标的精化”;我们具体做法如下:

    (defun jao-refine-url-type (url)
      "Refine type of URL in case it is a video."
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

    (add-to-list 'embark-transformer-alist '(url . jao-refine-url-type))

通过这种策略,我们就不再需要 jao-video-finder了,而且从概念上来说,我们的video-url应该被定义为一个精化操作而并非是一个目标 [脚注 1]。Omar 的第二个提议也与这个概念相契合:想必我们都希望所有关于url和我们的video-url的操作都是可用的,不是吗? 唔,这就是为什么我们用来定义行为的embark-define-keymap的宏可以通过使用关键字 [脚注 2]:parent继承其他键映射中已经定义的所有操作的原因:

    (embark-define-keymap jao-video-url-map
      "Actions on URLs pointing to remote video streams."
      :parent embark-url-map
      ("p" jao-play-video-url))

    (add-to-list 'embark-keymap-alist '(video-url . jao-video-url-map))

这种继承键映射的功能并非是 embark 的附属功能:vanilla Emacs 键映射通过标准函数 set-keymap-parent已经搞定它了。你可以完全不用embark-define-keymap来定义jao-video-url-map,工作原理是一样的。

这样,我们的代码就能够更短,特征更多:谢谢你,Omar!

脚注 1:在某些情况下,保留 jao-video-finder 是有意义的,即,如果我们想要改变检测 URL 的功能的话。例如,我在使用 emacs-w3m 的时候,经常有一个 URL 作为文本属性储存了起来(实际文本是个链接文本)。要通过那里检索 URL,就需要调用w3m-anchor,而用
embark-target-url-at-point就会错过它。对于这种情况,我最终编写(并使用)jao-video-finder将其通过下文定义:

    (when-let ((url (or (w3m-anchor) (thing-at-point-url-at-point))))
      (cons (if (string-match-p jao-video-url-rx url) 'video-url 'url) url))

另一种达成同件事情的方式(再次向 Omar 致敬)便是为 w3m 的锚点放置一个特定的巡检器(且继续使用 video-url 的转换器):

    (defun jao-w3m-url-finder 
      (when-let ((url (w3m-anchor)))
        (cons 'url url)))

    (add-to-list 'embark-target-finders #'jao-w3m-url-finder)

这种方法更加模块化,并且取决于你们的喜好,且更加巧妙。这些功能都很小巧并且两种方法之间并没有太大的差别,但是如果其中某一种继续加入更多寻检器的话,前一种方法用起来来反而会让一切变得更糟。

脚注 2:在我最开始的例子中,我在视频地图中还添加了browse-urlbrowse-url-firefox。前一个已不再重要,因为它已经在embark-url-map中出现过了,如果我们想让browse-url-firefox所有的 URLs 可用,我们可以将其加入到embark-url-map(谨记,embark 的键映射只是 Emacs 的键映射)。这是另一种扩展 embark 的简便方法。

(题图:MJ:emacs video geek wallpaper dark plAIn background Illustration)

via: https://jao.io/blog/an-even-better-video-wharf.html

作者:jao选题:lujun9972译者:Drwhooooo校对:wxy

本文由 LCTT原创编译,linux中国荣誉推出



Tags:视频   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
京东加码短视频,计划投入10亿元现金、10亿流量
经济观察网 记者 陈奇杰 4月10日,京东(09618.HK)正式宣布加码内容生态布局,将投入10亿元现金和10亿流量作为奖励,吸引更多原创作者和优质内容机构入驻京东平台。京东内容生态相关...【详细内容】
2024-04-10  Search: 视频  点击:(1)  评论:(0)  加入收藏
视频号,从抖音挖来一个“一姐”?
文|王亚琪编辑|斯问“你说你要尊严,一个月5000块钱的合同工资,能体现你的尊严吗?”“我那么多的人脉和资源,你如果够聪明的话,你踩着我肩膀往上爬不是更快吗?你拿着我每个月收来的房...【详细内容】
2024-04-09  Search: 视频  点击:(3)  评论:(0)  加入收藏
tiktok优质视频判断标准,tiktok怎么样发布视频流量高
课兴兴资源圈创始人分享过很多这类玩法,如果你看完不过瘾,欢迎关注课兴兴,后续为你分享更多干货!TikTok优质视频的判断标准主要包括以下几个方面:1.内容质量:视频内容需要有趣、有...【详细内容】
2024-04-09  Search: 视频  点击:(5)  评论:(0)  加入收藏
德国总理朔尔茨加入TikTok,发布第一条视频
中新网4月8日报道,据路透社消息,当地时间8日,德国总理朔尔茨在社交媒体TikTok发布了其第一条帖子。图片来源:路透社报道截图据介绍,朔尔茨这条帖子是通过新账号TeamBundeskanzler...【详细内容】
2024-04-08  Search: 视频  点击:(4)  评论:(0)  加入收藏
优化手机配置,轻松实现照片和视频的自动文字标注功能
在数字时代,我们不仅追求照片和视频的高清晰度,更希望能够让这些视觉内容“说话”,即通过文字来传达更多的信息和情感。幸运的是,通过一些简单的手机设置,我们可以让发布的照片和...【详细内容】
2024-04-08  Search: 视频  点击:(5)  评论:(0)  加入收藏
报告称 OpenAI 采集了超一百万小时的 YouTube 视频来训练 GPT-4
IT之家 4 月 7 日消息,本周早些时候,《华尔街日报》报道称 AI 公司在收集高质量训练数据方面遇到了困难。今天,《纽约时报》详细介绍了 AI 公司处理此问题的一些方法,其中涉及到...【详细内容】
2024-04-07  Search: 视频  点击:(7)  评论:(0)  加入收藏
为什么张元英的视频会那么火
记得有一次刷短视频的时候,看到了《庆余年》里面的一个片段,说是主角修炼的真气叫“霸道真气”!我当时和主角一样,好奇这个名字。但看到后来他的一些行径,不仅仅是主角光环的行径...【详细内容】
2024-04-02  Search: 视频  点击:(4)  评论:(0)  加入收藏
Sora开启文生视频新纪元 影视游戏产业加速变局求突破
本报记者 李豪悦文生视频模型Sora掀起的人工智能浪潮,正席卷全球多个产业链,影视游戏产业首先受到影响。3月26日,Sora母公司OpenAI与合作的部分艺术家发布了利用Sora制作的首部...【详细内容】
2024-03-28  Search: 视频  点击:(17)  评论:(0)  加入收藏
Sora超逼真视频引恐慌!Nature刊文警示AI视频模型,或在2024年颠覆科学和社会
新智元报道编辑:LRS【新智元导读】王炸Sora发布后,想要分辨AI视频和真实视频变得更难了,各行各业都面临新的挑战与危机。‍技术的发展总是伴随着被滥用的风险,从ChatGPT到最...【详细内容】
2024-03-27  Search: 视频  点击:(19)  评论:(0)  加入收藏
8款AI视频生成产品实测,谁将成为中国Sora?
  ©自象限原创  作者丨罗辑、苏奕  来源丨自象限  2024年开年,科技圈没有什么比Sora的出现更让人兴奋。  如同ChatGPT在2023年初带来的LLM创业潮,Sora的发布也...【详细内容】
2024-03-27  Search: 视频  点击:(19)  评论:(0)  加入收藏
▌简易百科推荐
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(0)  评论:(0)  加入收藏
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(6)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(13)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(9)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(11)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(9)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
站内最新
站内热门
站内头条