SMIL 直播协议

2023-11-08

Synchronized Multimedia Integration Language (SMIL/ˈsml/) is a World Wide Web Consortium recommended Extensible Markup Language (XML) markup language to describemultimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities to HTML.


转自:http://baike.baidu.com/view/147922.htm

SMIL是同步多媒体集成语言(Synchronized Multimedia Integration Language)的缩写,念做smile.它是由W3C(World Wide Web Consortium)组织规定的多媒体操纵语言。最新的SMIL版本是2001年8月推出的SMIL 2.0版本(参与制定该标准的公司奇多,J 有Compaq、Gateway、IBM、Microsoft、RealNetworks、Oratrix等等。)。SMIL与我们网页上用的HTML的语法格式非常相似。后者主要针对普通的网络媒体文件进行操纵(文字、图片、声音、动画、视频的机械堆砌),而前者则操纵多媒体片断(对多媒体片断的有机的、智能的组合)。


下面我们看一个实际的SMIL的例子(用 记事本编写就可以,注意:在 英文状态下 编辑。也就是不要打开 中文输入法。因为SMIL播放器不认识中文的标点符号!):
程序代码
< smil>
< head>
< meta name="copyright" content="Your Name" />
< layout>
< !-- layout 标记 -->
< /layout>
< /head>
< body>
< !—媒体标记 -->
< img src="image1.jpg"/>
< /body>
< /smil>
显然,SMIL和HTML语言的 语法格式非常相像!所以,如果大家对HTML熟悉的话,SMIL 学习起来就很容易。但是,二者的差别是很大的,所以如果想学的很好,大家一定要认真地学!
从上面这个例子可以看出:
(1) SMIL程序以<smil>开始,以</smil>结束。
SMIL必须以<smil>开始,以</smil>结束,其他的一切标记都在这二者之间。这个和HTML好像是一样的。
(2) 整个程序由body和head两个部分组成
其中body是必须要有的。而head部分则看实际情况。如果需要的话,我们就写。若是整个SMIL程序非常简单并且没有必要用head部分,那么,我们可以不写。从个人的经验来看,如果要写出一个效果好的演示,head部分是必不可少的!
(3) 属性和标记要求小写
SMIL要求其标记和标记的属性必须小写!
我们在这里不想给出属性和标记的定义。SMIL语言就是由标记组成的。每一行都是标记,而标记基本上都有属性。例如:< img src="image1.jpg"/>中,img是标记,而src是属性,image1.jpg是src的属性值。注意:属性值可以大小写都可以。后面我们会碰到有些属性值要求骆驼写法。什么是骆驼写法?像fadeTocolor这样的属性值(看看,中间高,两边低,是不是非常像骆驼的驼峰?)就是骆驼写法。
(4) 有些标记必须有一斜杠作为结束标记
在SMIL中,如果标记不是配对标记(例如:< smil>< /smil>、< head>< /head>、< body>< /body>等),那么,必须有一斜杠作为结束标记(例如:< img src="image1.jpg"/>)。
(5) 属性值必须用双引号括起来
例如:src="image1.jpg"。注意:SMIL文件中出现的文件名必须和服务器上的文件名一致,其路径一定要正确。否则,SMIL播放器找不到该文件。
(6) SMIL文件的拓展名为*.smil或者*.smi
我们必须以*.smil或者*.smi的拓展名来保存SMIL文件。这样SMIL播放器才能认出SMIL文件,以采用正确的解码方式解码、播放。为了防止与其它类型文件的拓展名冲突,强烈建议采用*.smil这个拓展名!注意:文件名必须是以数字、字母开始的,中间可以有下划线,不可以有空格。例如:test_one.smil可以,而test one.smil坚决不行!如果你喜欢的话,可以用我们上面讲的骆驼写法testOne.smil。注意:上面的例子大家可以原版复制,保存为testOne.smil。并且找一个图片放到testOne.smil同一个文件夹下,并将image1.jpg改成你的图片的名字(后面如果没有特殊说明,都得这么做),就可以用Realone player打开该 源程序,看看我们的第一个演示的效果了。
(7) 附加信息写在< head>< /head>之间
如果我们有些关于 源代码的一些说明也就是附加信息,例如版权、作者、标题、基地址等等,我们可以在< head>< /head>中说明。其基本的格式是:< meta name=" " content=" " />,例如:
程序代码
< meta name="author " content="litterone " />
< meta name="title " content="I want to learn SMI:L " />
(8) 用< !-- … -->进行注释
这个标记和HTML里面的是一样的。我们可以对我们的 源文件进行注释。SMIL播放器遇到这个标记后,将跳过去而不予理睬。例如:我们可以在写 源代码以前,将我们想要实现的效果在< !-- … -->中写出来,然后在编写源代码,假如我们忘记了删除该段说明,也不会影响演示的执行。
上面简单介绍了SMIL语言的基本知识,接下来要详详细细地学习SMIL!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SMIL 直播协议 的相关文章

随机推荐

  • windows下openGLES 3.0 配合 vs 环境搭建(二)

    在 http blog csdn net dardgen2015 article details 51563914 中 讨论了怎样搭建openGLes 3 0的环境 但是这种方法需要CMake的配合 不是很方便 接下来我们看看怎样搭建可以不
  • Double型比较大小 compareTo()

    public class DoubleCompare public static void main String args Double d1 100 0 Double d2 90 0 Double d3 150 005 int i 10
  • vue3自定义指令批量注册(按钮防重指令)

    vue3文档中很简单的描述了一下自定义指令
  • es分布式架构和原理分析

    es的分布式架构 前言 这篇初识ElasticSearch文章中 说明了es的集群的核心概念 回顾一下 关于节点 一个运行中的 es实例称为一个节点 而集群是由一个或者多个拥有相同cluster name 配置的节点组成 它们共同承担数据和
  • 计算机四级网络工程师(计算机网络单选)- 知识点

    计算机四级网络工程师 操作系统单选 计算机四级网络工程师 操作系统多选 计算机四级网络工程师 计算机网络单选 计算机四级网络工程师 计算机网络多选 一 Ethernet 1 Ethernet帧结构一般包含前导码 帧前定界符 目的地址 源地址
  • Device Association Service占用CPU - 解决方案

    问题 电脑开启蓝牙后 连接蓝牙设备时 服务主机 Device Association Service服务可能会占用大量CPU 在任务管理器中可以查看 若占用CPU持续超过10 则属于异常状态 由于本人问题已经解决 因此没有问题截图 下文介绍
  • 用R做中文LDA主题模型可视化分析

    LDA主题模型在2002年被David M Blei Andrew Y Ng 是的 就是吴恩达老师 和Michael I Jordan三位第一次提出 近几年随着社会化媒体的兴起 文本数据成为越来越重要的分析资料 海量的文本数据对社会科学研究
  • 99_好题整理1—鸡兔同笼

    F 鸡兔同笼 内存限制 128 MiB 时间限制 3000 ms标准输入输出 题目描述 已知鸡和兔的总数量为n 总腿数为m 输入n和m 依次输出鸡和兔的数目 如果无解 则输出 No answer 不要引号 输入格式 第一行输入一个数据a 代
  • 实用 SQL 语句收藏这篇就够了

    前言 文章沿着设计一个假想的应用 awesome app 为主线 从零创建修改数据库 表格 字段属性 索引 字符集 默认值 自增 增删改查 多表查询 内置函数等实用 SQL 语句 收藏此文 告别零散又低效地搜索经常使用的 SQL 语句 所有
  • STM32程序卡死HardFault_Handler

    在工作过程中移植部分功能程序后发现程序经常性莫名卡死 然后就一直在HardFault Handler中断卡死 解决如下 1 首先去网上查询了出现HardFault Handler是由于什么原因造成 1 堆栈溢出 这个可能性不大 2 数组越界
  • Scrapy+bs4爬取京东商品对应的评论信息

    Scrapy bs4爬取京东商品对应的评论信息 spiders comm py coding utf 8 import json import jsonpath import scrapy from bs4 import Beautiful
  • tomcat端口介绍以及配置启用https

    一 tomcat 默认端口
  • 步进电动机 - 特征篇(一)

    第1章 步进电动机特征篇 1 1 步进电动机特征 步进电动机是如同时钟的秒针一般 每次旋转一定角度的电动机 首先 介绍一下步进电动机的特征 链接 https www orientalmotor com cn web seminar stki
  • 添加区块到区块链当中003

    package main import crypto sha256 fmt 0 定义结构 创建前哈希值 创建当前哈希值 和数据 type Block struct Prevhash byte 前哈希 Hash byte 当前哈希 TODO
  • 【三维重建】【深度学习】NeRF_Pytorch代码--预备基础知识

    三维重建 深度学习 NeRF Pytorch代码 预备基础知识 给定一个场景的多视角的图像 神经辐射场 NeRF 通过图像重建误差优化一个神经场景表征 优化后可以实现逼真的新视角合成效果 NeRF最先是应用在新视点合成方向 由于其超强的隐式
  • 面试/笔试第三弹 —— 数据库面试问题集锦

    写在前面 找工作告一段落 期间经历了很多事情 也思考了许多问题 最后也收获了一些沉甸甸的东西 成长和一些来自阿里 百度 京东 sp 华为等厂的Offer 好在一切又回到正轨 接下来要好好总结一番才不枉这段经历 遂将此过程中笔者的一些笔试 面
  • 【JAVASCRIPT】javascript随机生成颜色8种方法

    实现1 JavaScript代码 var getRandomColor function return function color return color 0123456789abcdef Math floor Math random
  • FFMPEG常用命令

    FFmpeg编码和支持 FFmpeg源代码中包含的编码格式很多 常见不常见的都可以在编译皮质列表中见到 可以通过的编译配置命令 configure list encoders 常见的编码器的格式有 AAC AC3 H 264 H 265 M
  • Qt中连接两个字符串,并在其中添加换行符

    Qt中连接两个字符串 并在其中添加换行符 在Qt中想要将两个字符串连接在一起 只需要在两个字符串之间加入 即可 输出显示即为两个字符串连在一起 如果想在字符串后面加入换行符 然后再连接另一个字符串 直接在字符串后面添加 n 是行不通的 这里
  • SMIL 直播协议

    Synchronized Multimedia Integration Language SMIL sma l is a World Wide Web Consortium recommended Extensible Markup Lan