小编Stu*_*son的帖子

如何使用ffmpeg识别文件的视频编解码器

如果它们不是divx或xvid(DX50,即不可读),我经常在使用我的电视DVD播放器阅读AVI文件时遇到问题.

我想制作一个快速脚本来识别这些文件的视频编解码器,然后再将其刻录到cdrom/dvd上.

命令 :

ffmpeg -i file.avi
Run Code Online (Sandbox Code Playgroud)

给出视频流的"容器"(mpeg4,mpeg2等),而不是编解码器.

任何提示?

谢谢

video ffmpeg

19
推荐指数
2
解决办法
3万
查看次数

获取Java线程id和堆栈跟踪的失控Java线程

在我最繁忙的生产安装中,有时我得到一个似乎陷入无限循环的单个线程.经过大量的研究和调试后,我还没弄清楚谁是罪魁祸首,但看起来应该是可能的.以下是血腥的细节:

目前的调试说明:

1)ps -eL 18975向我展示了Linux pid问题子线程,19269

$ps -eL | grep 18975
...
PID   LWP   TTY          TIME CMD
18975 18994 ?        00:00:05 java
18975 19268 ?        00:00:00 java
18975 19269 ?        05:16:49 java
18975 19271 ?        00:01:22 java
18975 19273 ?        00:00:00 java
...
Run Code Online (Sandbox Code Playgroud)

2)jstack -l 18975表示没有死锁,jstack -m 18975不起作用

3)jstack -l 18975确实为我的所有线程(~400)提供了堆栈跟踪.示例线程堆栈(而不是问题):

"http-342.877.573.944-8080-360" daemon prio=10 tid=0x0000002adaba9c00 nid=0x754c in Object.wait() [0x00000000595bc000..0x00000000595bccb0]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on …

java debugging jstack

17
推荐指数
2
解决办法
3万
查看次数

编译错误:未定义的符号:"_ main",引自:crt1.10.5.o中的start

我有以下代码:

#include <iostream>

using namespace std;

class testing{
   int test() const;
   int test1(const testing& test2);
};

int testing::test() const{
   return 1;
}

int testing::test1(const testing& test2){
   test2.test();
   return 1;
}
Run Code Online (Sandbox Code Playgroud)

编译后,它给我以下错误:

Undefined symbols:
  "_main", referenced from:
      start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

为什么抱怨主?我不能在另一个文件中声明main并包含这个吗?

非常感谢!

c++

17
推荐指数
1
解决办法
5万
查看次数

在旧的和异国情调的JVM上,java.io.BufferedInputStream的默认缓冲区大小是多少?

我一直在研究关于java.io.BufferedInputStream和缓冲的博客文章.显然,多年来,默认情况下,从( Java ) Java 7实现的JavaDocs中明确指出,默认值从可疑的512字节增长到8192字节.我的问题还提出了一个问题:谁/什么决定默认应该是什么 - 它不像我预期的那样是黑色和白色.

我很好奇每个版本的默认缓冲区大小是什么,以及它在其他异乎寻常的JVM中可能是什么.到目前为止,我已经通过源代码,JavaDocs或针对1.0,1.1,1.4,Java 5,Java 6的Sun Bug报告以及(再次推测) Sun的Java 7 JVM 进行了跟踪.

我没有出现的是这个价值

  • Sun JDK 1.2的JVM实现
  • Sun JDK 1.3的实现
  • 任何其他实现的价值(如IBM或其他)

那么,我想知道这些价值是什么以及我在哪里找到它们的参考?

或者,如果那里的任何SOped人可能有权访问其中一个安装那个baring.如果是这样,你可以编译并运行下面的代码,然后在这里报告吗?或者,你知道吗?

import java.io.BufferedInputStream;
import java.io.InputStream;

public class BufferSizeDetector extends BufferedInputStream {
    public static void main(String[] args) {
        BufferSizeDetector bsd = new BufferSizeDetector(null);

        System.err.println(System.getProperty("java.version"));
        System.err.println(bsd.getBufferSize());
    }

    public BufferSizeDetector(InputStream in) {
        super(in);
    }

    public int getBufferSize() {
        return super.buf.length;
    }
}
Run Code Online (Sandbox Code Playgroud)

java history bufferedinputstream

17
推荐指数
2
解决办法
1万
查看次数

没有可用的JTA UserTransaction - 指定'userTransaction'或'userTransactionName'

我在spring事务中遇到了一个奇怪的问题.我的应用程序使用Spring和EJB.EJB还调用带有注释的Spring服务类@Transaction.我使用Spring JtaTransactionManager进行事务管理.该应用程序打包为一个EAR文件,并部署在jboss5.0上,它工作正常.但是当我指示jboss为每个EAR应用程序使用单独的类加载器时,spring初始化会产生错误.

org.springframework.beans.factory.BeanCreationException: Error creating bean
   with name 'transactionManager' defined in ServletContext resource 
   [/WEB-INF/applicationContext.xml]: Invocation of init method failed; 
nested exception is java.lang.IllegalStateException: No JTA UserTransaction 
   available - specify either 'userTransaction' or 'userTransactionName' or 
   'transactionManager' or 'transactionManagerName'
Run Code Online (Sandbox Code Playgroud)

为什么Spring的初始化不成功?

谢谢

java spring jboss5.x

17
推荐指数
1
解决办法
1万
查看次数

浏览器刷新行为

当用户在其浏览器上点击"刷新"时,它会重新加载页面但保留表单字段的内容.虽然我可以看到这是一个有用的默认设置,但在某些动态页面上可能很烦人,导致用户体验受损.

在HTTP标头或等效物中,有没有办法改变这种行为?

html refresh http

16
推荐指数
3
解决办法
2万
查看次数

Amazon S3独立存根服务器

我似乎记得读过有关与Amazon S3兼容的测试服务器,您可以在自己的服务器上运行以进行单元测试或其他任何操作.但是,我刚刚用谷歌和AWS来耐心等待这一点.这样的事情存在吗?如果没有,我想我会写一个.

注意:我问的是Amazon S3(存储系统)而不是Amazon EC2(云计算).

unit-testing stub amazon-s3 amazon-web-services

16
推荐指数
1
解决办法
5406
查看次数

让杰克逊对输入JSON更友好

我是否有办法让杰克逊对输入JSON不那么严格.例如,JSONObject提供以下允许:

构造者在他们接受的文本中更宽容:

  1. 额外的(逗号)可能出现在右大括号之前.
  2. 字符串可以用'(单引号)引用.
  3. 如果字符串不以引号或单引号开头,并且如果它们不包含前导或尾随空格,并且它们不包含任何这些字符,则根本不需要引用字符串:{} []/\: ,=; #并且如果它们看起来不像数字,并且它们不是保留字true,false或null.*
  4. 键后面可以是=或=>以及:.
  5. 价值观可以跟随; (分号)以及(逗号).
  6. 数字可以具有0x-(十六进制)前缀.

对我来说最有趣的是第3点.它允许以下转换:

new JSONObject("{A : 1}");
Run Code Online (Sandbox Code Playgroud)

...但对于杰克逊,我将使用相同的输入json得到错误:

new ObjectMapper().readTree("{ A : 1}"); // throws an exception
Run Code Online (Sandbox Code Playgroud)

例外:

org.codehaus.jackson.JsonParseException: Unexpected character ('A' (code 65)): was expecting double-quote to start field name
   at [Source: java.io.StringReader@26d4f1; line: 1, column: 4]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:943)
at org.codehaus.jackson.impl.JsonParserBase._reportError(JsonParserBase.java:636)
at org.codehaus.jackson.impl.JsonParserBase._reportUnexpectedChar(JsonParserBase.java:569)
at org.codehaus.jackson.impl.ReaderBasedParser._handleUnusualFieldName(ReaderBasedParser.java:342)
at org.codehaus.jackson.impl.ReaderBasedParser._parseFieldName(ReaderBasedParser.java:235)
at org.codehaus.jackson.impl.ReaderBasedParser.nextToken(ReaderBasedParser.java:125)
at org.codehaus.jackson.map.deser.BaseNodeDeserializer.deserializeObject(JsonNodeDeserializer.java:180)
at org.codehaus.jackson.map.deser.BaseNodeDeserializer.deserializeAny(JsonNodeDeserializer.java:210)
at org.codehaus.jackson.map.deser.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:52)
at org.codehaus.jackson.map.deser.JsonNodeDeserializer.deserialize(JsonNodeDeserializer.java:13)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:1588)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1130)
Run Code Online (Sandbox Code Playgroud)

java json jackson deserialization

14
推荐指数
1
解决办法
3万
查看次数

GCJ(GNU Compiler for Java)是一个发布webapp的可行工具吗?

使用GCJ发布服务器端应用程序是否真的可行?WEBAPPS?

我的老板确信将我的(我的)webapp 编译成二进制可执行文件是个好主意.(然后,他再次喜欢用他能理解的眨眼灯光的漂亮,小巧的简单事物.)他本能地认为没有问题,而我只能看到无穷无尽的一系列问题和退化.一旦我开始与他谈论我们平台的复杂性,以及更深入的字节代码,JVM,库,操作系统之间的差异,处理器架构等......嗯......他的眼睛茫然,他微笑着他已经说清楚他认为我是幼稚的抵抗力.

为什么他想要一个魔法可执行文件?他看到了几个"好处":

  • 如果它是二进制可执行文件,则很难进行逆向工程并绕过任何许可.管理层始终担心这种情况正在发生,即使我们出售给通常不会使用服务器软件作弊的大型企业.
  • 有下载这个神奇的可执行文件,运行它,一切正常的愿景.(不再派我去做客户安装,这不常见.)

所以,我已经完成了必须的20分钟谷歌搜索,现在我在这里.

关于我的应用程序的一些背景知识:

它是由什么组成的:

  • Java 6(Sun的JVM)
  • AspectJ 1.6
  • 雄猫6
  • Hibernate 3
  • 春天2
  • 另外二十几个支持jar文件

它能做什么

  • 流媒体CMS
  • 性能敏感
  • 部署在Linux,Solaris,Windows(以及在Mac上开发)

正如你可能会收集到的那样,我对这种"将Java编译为本机代码"的事情持高度怀疑态度.这听起来像是Mono(Linux上的VB)早在2000年.但我是否过于悲观?它可行吗?我是否应该花时间(几天甚至几周)来试试这个?

还有一个类似的线程(用于生成.exe文件的Java编译器选项),但它有点过于简单,链接过时了,并没有真正面向服务器端问题.

亲爱的SOpedians,您的知情意见将受到高度重视!TIA!

java gcj

13
推荐指数
2
解决办法
2852
查看次数

Tomcat会话意外到期

我们正在运行处理超过100个并发会话的tomcat应用程序服务器.在过去的两个月中,最活跃的用户注意到他们有时会从系统中被踢出.

据我所知,日志tomcat会话没有任何理由过期.

我认为Web应用程序方面没有任何问题.tomcat方面有什么问题吗?

Tomcat 6.0.18.

java session tomcat

13
推荐指数
3
解决办法
2万
查看次数