我希望我的网站加入FLV文件中的一些网络摄像头录像(就像这个).这需要在没有用户输入的情况下在Linux上完成.我该怎么做呢?为了简单起见,我将使用相同的flv作为两个输入,希望获得连续两次播放相同内容的flv.
这应该很容易,对吧?ffmpeg FAQ中甚至还有一个完整的代码示例.
好吧,管道似乎给我带来了问题(在我的运行Leopard和Ubuntu 8.04的mac上)所以让我们保持简单并使用普通文件.此外,如果我没有指定15 fps的速率,视觉部分播放速度非常快.因此示例脚本变为:
ffmpeg -i input.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 \
- > temp.a < /dev/null
ffmpeg -i input.flv -an -f yuv4mpegpipe - > temp.v < /dev/null
cat temp.v temp.v > all.v
cat temp.a temp.a > all.a
ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
-f yuv4mpegpipe -i all.v -sameq -y output.flv
Run Code Online (Sandbox Code Playgroud)
好吧,使用它可以用于音频,但我只是第一次看到视频.这似乎是我输入的任何flv作为input.flv,包括red5附带的电影剧本.
a)为什么示例脚本不像宣传的那样工作,特别是为什么我没有得到我期待的所有视频?
b)为什么我必须指定帧率,而Wimpy播放器可以以正确的速度播放flv?
我发现加入两个flv的唯一方法是使用mencoder.问题是,mencoder似乎没有加入flvs:
mencoder input.flv input.flv -o output.flv -of lavf -oac …
Run Code Online (Sandbox Code Playgroud) 我正在继续深入研究Erlang.我正在考虑使用Erlang开始我的下一个Web项目,在这个阶段我唯一会错过Ruby on Rails的是ActiveRecord.
Erlang有一个很好的替代技术吗?
更新: 我最接近解决方案的是ErlyDB,它是ErlyWeb的一个组件.
ErlyDB是Erlang的数据库抽象层生成器.ErlyDB结合了数据库元数据和用户提供的元数据,以生成可以直观方式执行常见数据访问操作的函数.它还提供了一个用于处理不同数据库引擎的API(尽管目前只支持MySQL),可以编写可移植的数据访问代码.
a = [ "a", "b", "c", "d" ]
a.rotate #=> ["b", "c", "d", "a"]
Run Code Online (Sandbox Code Playgroud)
#rotate
是Array
Ruby 1.9中的一种方法.我想在Ruby 1.8.7中使用此功能.什么是理想的代码?
我得到了配置Cart
和CartItem
(belongs_to :cart
)模型.
我想做的是打电话polymorphic_path([@cart, @cart_item])
让它使用cart_item_path
,而不是cart_cart_item_path
.
我知道我可以更改的路线生成的URL /carts/:id/items/:id
,但是这不是我感兴趣的.此外,重命名CartItem
到Item
是不是一种选择.我只想cart_item_path
在整个应用程序中使用方法.
提前感谢任何提示!
只是为了表明我的观点:
>> app.polymorphic_path([cart, cart_item])
NoMethodError: undefined method `cart_cart_item_path' for #<ActionDispatch::Integration::Session:0x007fb543e19858>
Run Code Online (Sandbox Code Playgroud)
所以,为了重复我的问题,我能做些什么polymorphic_path([cart,cart.item])
来寻找cart_item_path
而不是cart_cart_item_path
?
我可以轻松地构建一个元组元组:
let tt = (2, (3, 4))
let (a, (b, c)) = tt
b // => 3
Run Code Online (Sandbox Code Playgroud)
在声明闭包时我想做同样的事情,例如我以为我可以写:
[tt].map { (a, (b, c)) in
// Use b
}
Run Code Online (Sandbox Code Playgroud)
XCode抱怨"未命名的参数必须用空名称写".
我得到"工作"的唯一方法是:
[tt].map { (a, tuple: (b: Int, c: Int)) in
// Use tuple.b
}
Run Code Online (Sandbox Code Playgroud)
这有两个我想避免的缺点:
tuple.b
而不是b
b
和c
顺便说一句,我的用例是我想reduce
用索引做一个所以我正在尝试使用array.enumerate().reduce
我正在Ruby中编写一个项目,它利用ActiveRecord gem进行数据库交互,我试图使用ActiveRecord::Base.logger
以下代码使用该属性记录所有数据库活动
ActiveRecord::Base.logger = Logger.new(File.open('logs/database.log', 'a'))
Run Code Online (Sandbox Code Playgroud)
这适用于迁移等(由于某种原因似乎需要启用日志记录,因为它在禁用时会出现NilClass错误)但是当我尝试运行包含调用ActiveRecord对象的线程守护程序的项目时,脚本会失败并且跟随错误
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/logger.rb:504:in `write': closed stream (IOError)
Run Code Online (Sandbox Code Playgroud)
任何关于如何解决这个问题的想法将不胜感激.目前我已经开始查看其他代码,看看人们是否有其他方式以更加线程安全的方式实现ActiveRecord日志记录
谢谢
帕特里克
嘿大家!我想知道如何使用语法调用Ruby中的方法ClassName.method_name
.有的把我的头顶部有puts
,print
,gets
,chomp
.可以在不使用点运算符的情况下调用这些方法.为什么是这样?他们来自哪里?我怎样才能看到这些方法的完整列表?
什么是明智的说法.
if @thing == "01" or "02" or "03" or "04" or "05"
Run Code Online (Sandbox Code Playgroud)
(这些数字包含在数据类型字符串列中.)
Enumerable#lazy
依赖于你的可枚举提供#each
方法.如果您的枚举没有#each
方法,则无法使用#lazy
.现在Kernel#enum_for
,#to_enum
提供指定除以下之外的枚举方法的灵活性#each
:
Kernel#enum_for(method = :each, *args)
Run Code Online (Sandbox Code Playgroud)
但是#enum_for
,朋友总是构建普通(非懒惰)的普查员,从不Enumerator::Lazy
.
我看到Enumerator
在Ruby 1.9.3中提供了类似的#new形式:
Enumerator#new(obj, method = :each, *args)
Run Code Online (Sandbox Code Playgroud)
不幸的是,在Ruby 2.0中已经完全删除了构造函数.此外,我认为它根本不可用Enumerator::Lazy
.所以在我看来,如果我有一个带有方法的类,我想返回一个惰性枚举器,如果该类没有,#each
那么我必须定义一些定义的辅助类#each
.
例如,我有一Calendar
堂课.从一开始就提出列举每一个日期对我来说真的没有意义.一个#each
将是无用的.相反,我提供了一个从开始日期(懒惰)枚举的方法:
class Calendar
...
def each_from(first)
if block_given?
loop do
yield first if include?(first)
first += step
end
else
EachFrom.new(self, first).lazy
end
end
end
Run Code Online (Sandbox Code Playgroud)
那个EachFrom
班看起来像这样:
class EachFrom
include Enumerable
def initialize(cal, first)
@cal = …
Run Code Online (Sandbox Code Playgroud) 该jaxon
仙丹包系统崩溃只即使它们运行的MacOS,XCode中,铛,Erlang和灵药相同版本的我的两个MAC之一。
我该如何调查这个问题,或者我可以检查哪些其他依赖项来尝试解决这个问题?