Articles of ffmpeg

如何通过ssh在远程机器上使用ffmpeg

我的局域网上有三台电脑, 一个运行ubuntu , 一个运行openSuse 和我的服务器运行Archlinux 。 我只设法让ffmpeg在我的服务器上正常工作。 我想编写一个脚本,假装在本地机器上是ffmpeg安装,但实际上只是使用服务器的ffmpeg 。 例: 在openSuse电脑上,我想打电话给: ffmpeg -i file.avi out.flv 然后按照预期得到正常的输出, 但我想要它在archlinux上使用ffmpeg。 任何意见,如何我会得到这个工作。 (最好在Ruby中) 编辑:我已经扩展这个问题, 如何显示进度条通过ssh的shell命令

如何将audio文件(即时)转换为浏览器?

我希望能够将audio文件转换为MP3到用户浏览器上。 我使用的软件是:在Ubuntu系统上的Apache,PHP和FFMPEG。 这是我到目前为止的代码: <?php header("Content-Transfer-Encoding: binary"); header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3"); passthru('ffmpeg -i song.flac -v 0 -ab 320k -f mp3 -'); ?> 有了这个代码,只有audio的前几秒被转换,但是,当我注释掉头function,audio文件被完全转换,但所有的二进制数据传递到屏幕(而不是包装在浏览器的MP3播放器)。 有什么想法吗?

FFMpeg示例程序

我目前在学习Martin Bohme 教程的 ffmpeg教程 我想用Code Block IDE编译一个ffmpeg示例程序,但是它不能 #include <stdio.h> #include <stdlib.h> #include "libavcodec/avcodec.h" #include "libavformat/avformat.h" int main(int argc, char *argv[]) { av_register_all(); return 0; } 请帮帮我。 如何编译它。 我正在使用Linux(Ubuntu)

用Android NDK r10编译FFmpeg 2.3

我想按照这个教程来编译FFMpeg 2.3和Android NDK r10: http ://www.roman10.net/how-to-build-ffmpeg-for-android/ 得到几个错误后,我修改了这样的构build脚本: #!/bin/bash ###################################################### # Usage: # put this script in top of FFmpeg source tree # ./build_android # It generates binary for following architectures: # ARMv6 # ARMv6+VFP # ARMv7+VFPv3-d16 (Tegra2) # ARMv7+Neon (Cortex-A8) # Customizing: # 1. Feel free to change ./configure parameters for more features # 2. […]

通过FFmpeg和PHP创build目录中的所有文件的video缩略图

我搜遍了谷歌和StackOverFlow,但仍然没有find一个解决scheme。 我想要生成目录中所有mp4video文件的video缩略图,并将缩略图命名为“filename.mp4”.jpg 我在我的服务器上安装了ffmpeg和ffmpeg-php。 我同时也成功创build了一个文件的缩略图。 所以这是情况,我有一个名为上传的目录,有很多的MP4video。 现在,当我运行脚本时,应自动创build大小为100×100的缩略图,并将其放在另一个文件夹“skrin”中。 例如:xxx.mp4应该有xxx.mp4.jpg有拇指名称。 重要提示:我的文件名在文件名中有空格,单引号,括号等。 所以脚本应该能够处理这个。 有人能帮我吗? 我使用以下shell命令在PHP中使用exec生成单个video的拇指。 exec("/usr/local/bin/ffmpeg -itsoffset -105 -i 'xxx haha.mp4' -vcodec mjpeg -vframes 1 -an -f rawvideo -s 100×100 'xxx haha.mp4.jpg'");

如何远程停止ffmpeg?

我在另一台机器上运行ffmpeg进行屏幕截图。 我希望能够远程停止录制。 FFMPEG要求q被按下来停止编码,因为它必须做一些终结来干净地完成文件。 我知道我可以用kill / killall杀死它,但是这会导致video被破坏。 Press [q] to stop encoding 我无法find谷歌专门为此,但有一些build议,呼应到/ proc / / fd / 0将工作。 我已经尝试过,但不会停止ffmpeg。 然而q显示在ffmpeg正在运行的terminal中。 echo -nq > /proc/16837/fd/0 那么如何将字符发送到另一个现有的进程,就像在本地input一样呢? 还是有另一种方式干净地远程停止ffmpeg。

如何在Linux(编程)采取截图(高fps)

首先我想说的是,我一直在阅读很多关于这方面的知识,而且我已经学会了很多方法来做到这一点,但是我一直无法在Linux中做到这一点。 我的项目是arduino的stream光溢彩,所以我需要截取桌面并分析它的颜色。 在开始时,我使用了来自“java.awt”的类“Robot”的Processing 2.0。 最初我可以每秒5帧,然后我有13fps。 这工作,但我想要更多的性能,所以我开始阅读。 在Windows或Mac中,您可以使用库直接访问“frameBuffer”,因此您可以非常简单,快速地截取屏幕截图。 在Ubuntu中,我已经尝试了与Gtk,PIL,Qt的Python …最快的方法是GTK,但我也只能有大约15fps。 我的问题是:我想跨平台,但我更喜欢我的程序在Linux的一开始,然后在Windows(我不喜欢它太多:P)。 那么,第一个问题是python能够提供这种性能吗? 因为我认为C ++可以是更好的select。 第二个问题:我需要做什么? 我已经阅读了关于Xlib(X11),但我找不到让我截图的文档。 另外我知道,例如,FFmpeg是一个强大的工具,但我不知道如何实现它。 我希望你能帮助我(如果我犯了错误,请原谅我)。

从Linux命令行加水印video

有谁知道如何使用一个简单的工具从Linux命令行中的水印video? 当前版本不支持ffmpeg中的水印,并且需要自定义编译。 最大。

通过脚本安装OpenCV和FFMPEG时出错

我正在写一个RightScript在Linux服务器上安装OpenCV-2.3.1。 我正在使用FFMPEG包:ffmpeg-0.7-rc1 我正在做什么,而我手动安装在服务器上,但是当我尝试启动框使用的脚本获取一些错误。 OpenCV在通过bash手动构build时安装并工作正常。 我得到的错误是: In file included from /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg.cpp:45: /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'void CvCapture_FFMPEG::close()': /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:451: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/local/include/libavformat/avformat.h:1533) /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:451: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/local/include/libavformat/avformat.h:1533) /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp: In member function 'bool CvCapture_FFMPEG::reopen()': /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:483: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated (declared at /usr/local/include/libavformat/avformat.h:1533) /OpenCV-2.3.1/modules/highgui/src/cap_ffmpeg_impl.hpp:483: warning: 'void av_close_input_file(AVFormatContext*)' is deprecated […]

在Linux上使用FFmpeg从OpenCV 3编写x264

我无法通过FFmpeg(“X”,“2”,“6”,“4”,FOURCC)使用OpenCV 3编写h264video。 到目前为止,我已经看到所有相关的post,但没有任何帮助。 码: cv::VideoWriter writer(output_path.string(), CV_FOURCC('X','2','6','4'), 60, frame_size); 输出: OpenCV:FFMPEG:标记0x34363258 /'X264'不支持编解码器ID 28和格式'MP4 / MP4(MPEG-4 Part 14)'OpenCV:FFMPEG:回退使用标记0x00000021 /'!???' 由此产生的video非常小(按字节),不可读。 设置four_cc为-1的结果来自FFmpeg的“未知标签”,我没有得到任何提示select其他人build议的编解码器。 OpenCV 3文档指出: 带MP4容器的FFMPEG后端本身使用其他值作为fourcc代码:请参阅ObjectType ,因此您可能会收到来自OpenCV的关于fourcc代码转换的警告消息。 这个页面他们没有列出h264 / x264,我不知道如何解释这个声明,因为早先的SOpost似乎都列出了X.2.6.4作为适当的代码。 使用H.2.6.4实际上给出相同的输出。 任何build议/解决方法? PS的ffmpeg是最新的Ubuntu维护者,它列出它configuration了–enable-libx264 编辑:我试图使用mkv容器,而不是mp4。 关于标签不被支持的警告消失了,但是由此产生的video仍然是不可读的。