我将如何制作带有视频的横幅广告,例如,遵循通用大小限制 (150kB) 的 Animate CC?
我发现您可以使用 Javascript 实现 HTML5 视频?也许是一个gif?欢迎任何教程或指南。
最佳答案
对的,这是可能的。
这是一个非常小的 7K 视频,在 SO 的大小限制内(6.6K 压缩):
<!DOCTYPE html><html>
<meta charset="utf-8"><meta name="ad.size" content="width=320,height=100">
<body>
<script>
setTimeout( function(){
var v = document.querySelector( '#video' );
v.removeAttribute('loop'); /* Stop loop after 1 seconds (set below) */
v.addEventListener('ended', function(){
v.currentTime = 0.6; /* Rewind to 0.6 sec */
v.pause(); /* Stop video for IE 11 */
});
}, 1000 );
</script>
<video id="video" width="272" height="48" onclick='this.play()' autoplay loop src='data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAFg5tZGF0AAACsAYF//+s3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0OCByMjY2NSBhMDFlMzM5IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNiAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTE2IGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDM6MHgxMzMgbWU9dW1oIHN1Ym1lPTEwIHBzeT0xIHBzeV9yZD0xLjAwOjAuMDAgbWl4ZWRfcmVmPTEgbWVfcmFuZ2U9MjQgY2hyb21hX21lPTEgdHJlbGxpcz0yIDh4OGRjdD0xIGNxbT0wIGRlYWR6b25lPTIxLDExIGZhc3RfcHNraXA9MSBjaHJvbWFfcXBfb2Zmc2V0PS0yIHRocmVhZHM9MSBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTggYl9weXJhbWlkPTIgYl9hZGFwdD0yIGJfYmlhcz0wIGRpcmVjdD0zIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MiBrZXlpbnQ9MjUwIGtleWludF9taW49MjUgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD02MCByYz1jcmYgbWJ0cmVlPTEgY3JmPTI4LjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IGlwX3JhdGlvPTEuNDAgYXE9MToxLjAwAIAAAAF4ZYiBAA///uTPuZY+yUglG4ugbAGtaMFpBZ45QLlYjDmM786yt3JhmUaqq/WpH2SdEEQrn9UggFVflQ/uiVqLqbzW5teh0pwLNNXI36BPkFyuzCAVjGbR7n3RtztnvW9HEP5+M0FPsa/2YGPlLsXH00yABQAZTN+V8x8wcGdRNZ5nibjjWYuirJ+a2MW3xZHqYt0fJUJdtqAYR1gr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'>
</body></html>.css 来规避。Google may add video detection in the future - they already detects it if you rename it to an image - but for now video itself is not a reason of rejection.
Another issue is that mobile platforms do not autoplay video. It is simple to make them click-to-play, but you may want to spare some byte budget for the image placeholder.
<html>、meta ad.size、<body> 和 video 标签。使用数据 uri 作为视频 src。.pause() 。 The steps are based on Avidemux 2.6.12's defaults. I can't list every options because there are too many, but since x264 encoder is pretty stable I don't expect the defaults to change.
We also tried Average Bitrate a few times, but CRF consistently yields better result.
The settings trade encoding time for better quality or smaller size. It may not be obvious but single thread increase byte efficiency too. When you only have 153,600 bytes, these little bits helps.
Adjusting B-Frame Bias is not advised in general encoding, but a moderate increase really helps to shave more bytes off.
As of 7-zip 16.02, Deflate is the second best compression algorithm for video - better than bzip, lzma, or ppmd. Deflate64 is marginally better, but is not supported by Google.
关于html - 是否可以制作带有视频的横幅广告,例如谷歌广告的尺寸限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38148969/
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择