Tag: ffmpeg

Xuggler没有转换.webm文件?

我正在尝试使用Xuggler将.mov文件转换为.webm,这应该可以在FFMPEG支持.webm文件时使用。 这是我的代码: IMediaReader reader = ToolFactory.makeReader(“/home/user/vids/2.mov”); reader.addListener(ToolFactory.makeWriter(“/home/user/vids/2.webm”, reader)); while (reader.readPacket() == null); System.out.println( “Finished” ); 运行此时,我收到此错误: [main] ERROR org.ffmpeg – [libvorbis @ 0x8d7fafe0] Specified sample_fmt is not supported. [main] WARN com.xuggle.xuggler – Error: could not open codec (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:831) Exception in thread “main” java.lang.RuntimeException: could not open stream com.xuggle.xuggler.IStream@-1921013728[index:1;id:0;streamcoder:com.xuggle.xuggler.IStreamCoder@-1921010088[codec=com.xuggle.xuggler.ICodec@-1921010232[type=CODEC_TYPE_AUDIO;id=CODEC_ID_VORBIS;name=libvorbis;];time base=1/44100;frame rate=0/0;sample rate=44100;channels=1;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]: Operation not permitted at […]

转换CMU Sphinx 4输入的音频文件

我有一大堆文件,我想在使用CMU Sphinx 4时获得认可.Sphinx需要以下格式: 16千赫兹 16位 单 小尾数 我的文件类似于44100 khz,32位立体声mp3文件。 我尝试使用Tritonus,然后使用更新版本JavaZoom,使用bakuzen中的代码进行转换。 但是, AudioSystem.getAudioInputStream(File)抛出UnsupportedAudioFileException ,我无法弄清楚原因,所以我继续前进。 现在我正在尝试ffmpeg。 命令ffmpeg -i input.mp3 -ac 1 -ab 16 -ar 16000 output.wav似乎应该做的伎俩(小端除外),但是当我用Audacity检查输出时,它仍然将其标记为“32 -bit float“。 我在这个网站上找到的命令也使用了-acodec pcm_s16le ,它的名字似乎输出了16位小端; 但是,Audacity仍然告诉我输出是32 bit float 。 谁能告诉我如何将音频文件转换为CMU Sphinx 4所需的格式?

如何使用xuggle在java中读取实时网络流? (我可以在ffmpeg中完成,只是不是xuggle)

所以,如果我跑: ffmpeg -t 10 -re -i “rtmp://170.93.143.150/rtplive/ app=rtplive/ playpath=e000990f025f0075004d823633235daa swfUrl=http://www.chart.state.md.us/video/mediaplayer/player.swf pageUrl=http://www.chart.state.md.us/video/video.asp?feed=e000990f025f0075004d823633235daa stop=5000 flashver=`LNX 11,2,202,262` live=true” test.flv -report 它让我从该网络流中获得了5秒钟的video,并将其放入test.flv。 现在我想在java中使用xuggle做同样的事情,除非我每次尝试打开容器时都会出错,并将x设置为-1: public IMediaReader grabStream(IMediaReader reader) throws IOException { String rtmp = “rtmp://170.93.143.150/rtplive/”; rtmp = rtmp + ” app=rtplive/”; rtmp = rtmp + ” playpath=e000990f025f0075004d823633235daa”; rtmp = rtmp + ” swfUrl=http://www.chart.state.md.us/video/mediaplayer/player.swf”; rtmp = rtmp + ” pageUrl=http://www.chart.state.md.us/video/video.asp?feed=e000990f025f0075004d823633235daa”; rtmp […]

OpenCV Java绑定VideoCapture从文件静默失败

我正在使用提供的Windows 64bit Java jar的OpenCV 2.4.8。 到目前为止,我一直在目前的环境中充分利用OpenCV。 我无法使用VideoCapture类打开video文件,但网络摄像头Feed工作正常。 以下工作正如预期的那样, video.isOpened返回true VideoCapture video = new VideoCapture(); boolean result = video.open(0); 以下失败, video.isOpened返回false VideoCapture video = new VideoCapture(); boolean result = video.open(“res/hand-test-1.mp4”); 两种文件格式似乎都没有区别(这些都是转换的,而不仅仅是希望重命名) video.open(“res/hand-test-1.mp4”); video.open(“res/hand-test-1.avi”); video.open(“res/hand-test-1.wmv”); 位置似乎也不重要。 video.open(“C:/hand-test-1.mp4”); video.open(“C:\\hand-test-1.mp4”); video.open(“hand-test-1.mp4”); 垃圾,也没有exception从OpenCV通过Java启动,似乎无声地失败。 video.open(“ashdkfhkajsjdfkhaksdf”); PATH包含随opencv安装提供的ffmpeg目录, C:\dev\opencv\sources\3rdparty\ffmpeg 现在我的想法已经用完了,看起来我通过video.open(String)扔给本地的video.open(String)都会返回false。 任何帮助将非常感激

Android:ffmpeg,文件名包含空格

我想从Android应用程序执行ffmpeg,非常如下所述: 将FFmpeg与Android-NDK配合使用 。 执行以下命令可以正常工作: Process p = Runtime.getRuntime().exec(“/data/data/yourpackagename/ffmpeg -i infile.mp4 outfile.mp4”); 要么 Process p = Runtime.getRuntime().exec(new String[]{“/data/data/yourpackagename/ffmpeg”, “-i”, “infile.mp4”, “outfile.mp4”); 但是当输入或输出文件名包含空格时,ffmpeg会因“找不到文件”错误而失败: Process p = Runtime.getRuntime().exec(“/data/data/yourpackagename/ffmpeg -i \”in space file.mp4\” outfile.mp4″); // fails Process p = Runtime.getRuntime().exec(“/data/data/yourpackagename/ffmpeg -i ‘in space file.mp4’ outfile.mp4”); // fails Process p = Runtime.getRuntime().exec(new String[]{“/data/data/yourpackagename/ffmpeg”, “-i”, “\”in space file.mp4\””, “outfile.mp4”); //fails 对于没有空格但引用的文件,FFMPEG也会失败: […]

以编程方式转码MPEG-2video

我需要能够以编程方式将mpeg-2文件转码为.mp4,.mp3,.wmv,.rm(可选)和.flv(可选),并希望生成缩略图。 我找到了Java Media Framework,但坦率地看起来很糟糕。 这将运行一个Linux服务器,所以我可以使用Commons Exec来解决ffmpeg – ffmpeg会做我需要做的一切吗? FFmpeg看起来相当令人生畏,这就是为什么我无法找到这些信息,但它肯定似乎是一个万能的交易。 有什么建议么?

使用Java转换为FLV

有没有人知道如何使用java将任何类型的video格式转换为flv,我一直在寻找用于转换video的java api,但似乎没有这样的东西,但可能有办法做到这一点,我的意思是制作像youtube服务这样的东西会转换video,但是使用java,我需要一个可以将video显示为FLv格式但可以以任何格式上传的网络应用程序,如果有人做了这样的事情,请告诉我如何或任何想法, 谢谢。

Xuggler编码和复用

我正在尝试使用Xuggler (我相信在引擎盖下使用ffmpeg )来执行以下操作: 接受原始MPJPEGvideo比特流(来自小型TTL串行摄像机)并将其编码/转码为h.264; 和 接受原始音频bitsream(来自麦克风)并将其编码为AAC; 然后 将两个(音频和video)比特组合在一起成为MPEG-TS容器 我已经看过/阅读过他们的一些优秀教程,到目前为止这里是我得到的: // I’ll worry about implementing this functionality later, but // involves querying native device drivers. byte[] nextMjpeg = getNextMjpegFromSerialPort(); // I’ll also worry about implementing this functionality as well; // I’m simply providing these for thoroughness. BufferedImage mjpeg = MjpegFactory.newMjpeg(nextMjpeg); // Specify a h.264 video stream […]

使用带有silencedetect的FFMPEG来消除音频静音

我试图使用以下命令与最新的ffmpeg构建来删除我的.mp3文件中的沉默: ffmpeg -i SILENCE.mp3 -af silencedetect=n=-50dB:d=1 -y -ab 192k SILENCE_OUT.mp3 但是,会生成以下输出: ffmpeg version N-66154-g1654ca7 Copyright (c) 2000-2014 the FFmpeg developers built on Sep 5 2014 22:10:38 with gcc 4.8.3 (GCC) configuration: –enable-gpl –enable-version3 –disable-w32threads –enable-av isynth –enable-bzlib –enable-fontconfig –enable-frei0r –enable-gnutls –enab le-iconv –enable-libass –enable-libbluray –enable-libbs2b –enable-libcaca — enable-libfreetype –enable-libgme –enable-libgsm –enable-libilbc –enable-lib modplug –enable-libmp3lame –enable-libopencore-amrnb […]