我在我的本地Rails应用程序中使用ffmpeg版本1.2.4来转换视频文件.当我在本地运行应用程序时,一切都按预期工作.当我部署到heroku时,我为ffmpeg添加了一个buildpack:
https://github.com/shunjikonishi/heroku-buildpack-ffmpeg
这将安装ffmpeg版本git-2013-06-02-5711e4f.当我尝试将视频转码为mp4时,我收到以下错误:
无法识别的选项'预设'.拆分参数列表时出错:找不到选项
这是完整的日志:
2013-11-17T19:45:05.255059+00:00 app[web.1]: Running transcoding...
2013-11-17T19:45:05.255059+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640x360 -qscale 0 -preset slow -g 30 -aspect 1.7777777777777777 /app/public/uploads/tmp/1384717504-2-9158/tmpfile.mp4
2013-11-17T19:45:05.255059+00:00 app[web.1]:
2013-11-17T19:45:05.317895+00:00 app[web.1]: Failed encoding...
2013-11-17T19:45:05.317895+00:00 app[web.1]: ffmpeg -y -i /app/public/uploads/tmp/1384717504-2-9158/Untitled.mov -vcodec libx264 -acodec libfaac -s 640x360 -qscale 0 -preset slow -g 30 -aspect 1.7777777777777777 /app/public/uploads/tmp/1384717504-2-9158/tmpfile.mp4
2013-11-17T19:45:05.317895+00:00 app[web.1]:
2013-11-17T19:45:05.317895+00:00 app[web.1]: ffmpeg version git-2013-06-02-5711e4f Copyright (c) 2000-2013 the FFmpeg developers
2013-11-17T19:45:05.317895+00:00 app[web.1]: built on Jun 2 2013 07:38:40 with gcc …Run Code Online (Sandbox Code Playgroud) 我正在我的html.erb文件中设置图像的数据元素:
<img src="<%=image%>" data-description="<%= auto_link(step.description)%>"/>
Run Code Online (Sandbox Code Playgroud)
问题是我的step.description中有时会引用干扰,因此数据描述设置不正确,例如:
<img src="..." data-description="<pre><code class=" language-java"="" style="width: 193px; height: 257px; margin-left: -96.5px; margin-top: -128.5px; opacity: 1;">
Run Code Online (Sandbox Code Playgroud)
如何删除erb文件中的冲突引号?
在我的 Rails 应用程序中,项目可以包含视频。我想为项目创建一个范围以获取没有关联视频的项目。我该怎么做呢?
这是我的模型协会
class Project < ActiveRecord::Base
has_one :video
end
class Video < ActiveRecord::Base
belongs_to :project
end
Run Code Online (Sandbox Code Playgroud) 我已经花了半天时间尝试调试Heroku错误,因为slug编译错误导致我无法将代码推送到我的登台服务器:
Compiled slug size: 320.5MB is too large (max is 300MB).
Run Code Online (Sandbox Code Playgroud)
我已将所有资产移至AWS3并使用以下信息创建了一个.slugignore文件:
*.psd
*.pdf
test
spec
features
doc
public
Run Code Online (Sandbox Code Playgroud)
我可以使用哪些其他策略?最奇怪的是,据我所知,代码与生产服务器相同,推送到生产服务器时没有任何错误.
我有一个链接的image_tag,我想在鼠标悬停时更改图像.我认为以下方法可行,但图像未开启鼠标悬停:
<%= link_to image_tag("new_step.png"),new_project_step_path(@project), :class=> "newStep", :onmouseover => "new_step_highlighted.png"%>
Run Code Online (Sandbox Code Playgroud)
我也尝试过编辑css,但遗憾的是这也不起作用:
.newStep{
background: url('../assets/new_step_highlighted.png');
}
.newStep:hover{
background: url('../assets/new_step_highlighted.png');
}
Run Code Online (Sandbox Code Playgroud)
对于这两种情况,仅显示图像"new_step.png".我该如何解决这个问题?在此先感谢您的帮助!
我想根据它们是风景还是肖像来处理不同的图像.
这是我的图像上传器模型中的代码:
def is_landscape?
if @file
image = ::MiniMagick::Image.open(file)
Rails.logger.info "from in is_landscape? : #{image[:width] > image[:height]}"
image[:width] >= image[:height]
end
end
def is_portrait?
Rails.logger.info "from in is_portrait? : #{image[:height] > image[:width]}"
image[:height] > image[:width]
end
process :resize_to_fill => [667, 500], if: :is_landscape?
process :resize_to_fill => [500, 667], if: :is_portrait?
version :preview do
process :resize_to_fill => [380,285]
end
version :thumb do
process :resize_to_fill => [105,79], if: :is_landscape?
process :resize_to_fill => [105, 158], if: :is_portrait?
end
Run Code Online (Sandbox Code Playgroud)
我收到了错误
"ArgumentError (wrong number of …Run Code Online (Sandbox Code Playgroud) 我的Rails应用程序突然开始给我以下错误:
Can't verify CSRF token authenticity
ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
Run Code Online (Sandbox Code Playgroud)
我没有对应用程序进行任何更改,因此我对于导致此问题的原因完全感到沮丧.完整的错误日志如下.我取出了真实性令牌但确认该令牌对当前用户有效(通过在控制台中检查).
2015-05-13T01:44:49.038482+00:00 app[web.1]: I, [2015-05-13T01:44:49.038369 #9] INFO -- : Started POST "/projects?auth_token=xxx” for 76.118.180.235 at 2015-05-13 01:44:49 +0000
2015-05-13T01:44:49.044865+00:00 app[web.1]: I, [2015-05-13T01:44:49.044762 #9] INFO -- : Completed 422 Unprocessable Entity in 1ms
2015-05-13T01:44:49.119991+00:00 app[web.1]: I, [2015-05-13T01:44:49.119893 #9] INFO -- : Processing by SpinsController#create as JSON
2015-05-13T01:44:49.120060+00:00 app[web.1]: I, [2015-05-13T01:44:49.119998 #9] INFO -- : Parameters: {"spin"=>{}, "auth_token"=>”xxx”}
2015-05-13T01:44:49.120537+00:00 app[web.1]: W, [2015-05-13T01:44:49.120469 #9] WARN -- : Can't verify CSRF token authenticity
2015-05-13T01:44:49.122935+00:00 app[web.1]: F, …Run Code Online (Sandbox Code Playgroud) 我使用的是Bootstrap工具提示,目前在我的页面上已被删除。我删除了overflow-x属性以尝试确保工具提示可见,但仍将其切断:
我已经找到了一些可能的解决方案,但是我无法将工具提示的位置设置为固定或更改工具提示的父级,因为它们需要与容器中的元素一起滚动:
https://www.youtube.com/watch?v=qoNkpFAHr0o&feature=youtu.be
这是我添加工具提示的方法:
$('#step_name').tooltip(
{
title: "1. Add step title",
placement: "left",
container: ".editDetailView",
trigger: "manual",
position: "absolute"
});
$('#uploadMedia').tooltip(
{
title: "2. Upload images/videos",
placement: "left",
container: ".editDetailView",
trigger: "manual",
position: "absolute"
});
$('.detailViewText').tooltip(
{
title: "3. Add step description",
placement: "left",
container: ".editDetailView",
trigger: "manual",
position: "absolute"
});
$('.update_step_button').tooltip(
{
title: "4. Click to create step",
placement: "bottom",
container: ".editDetailView",
trigger: "manual",
position: "absolute"
});
Run Code Online (Sandbox Code Playgroud)
这是容器元素上的CSS:
.processBlog{
position: absolute;
overflow: auto;
form{
overflow: auto;
.stepDetailView{
overflow-y: auto; …Run Code Online (Sandbox Code Playgroud) 我有一个布局,我只想占用屏幕宽度的一定百分比(左边的图像).现在,我的相对布局横跨显示器的整个宽度(右侧图像).我怎样才能修复左边和右边的边距?

这就是我定义相对布局的方式:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@color/white"
android:orientation="vertical"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
Run Code Online (Sandbox Code Playgroud) 我查看了几个关于这个问题的帖子,但没有找到解决方案。
facebookLoginButton = (LoginButton) findViewById(R.id.facebook_login_button);
facebookLoginButton.setReadPermissions(Arrays.asList("read_stream", "user_photos", "email", "user_location"));
// create callback manager for facebook
callbackManager = CallbackManager.Factory.create();
facebookLoginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "LOGGED IN");
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
Log.d(TAG, "Facebook graph response: " + response.toString());
try {
// get only the part before the @ symbol
String email_username = object.getString("email").substring(0, object.getString("email").indexOf("@"));
editor = preferences.edit();
editor.putString("username", email_username);
editor.commit();
Log.d(TAG, "logging in user " …Run Code Online (Sandbox Code Playgroud) android ×2
heroku ×2
associations ×1
carrierwave ×1
csrf ×1
css ×1
devise ×1
facebook ×1
ffmpeg ×1
html ×1
javascript ×1
jquery ×1
minimagick ×1
ruby ×1
scope ×1
video ×1