Tag: ffmpeg

使用QtMultimedia播放自定义的AVI数据stream

我需要播放一个自定义的AVI文件,其中包含一个经典的videostream,一个audiostream, 但也是一个自定义的数据stream 。 自定义stream包含一些自定义小部件可视化的数据; 这些小部件只需要在适当的时候将每个自定义帧写入缓冲区。 我们的应用程序基于Qt,已经使用QMediaPlayer / QVideoWidget来播放传统video,但额外的自定义stream使事情变得更加复杂,因为AFAIK QMediaPlayer只播放video/audio而忽略其他所有内容。 我想避免重新创build整个qt-multimedia ,但是我不确定如何从可用的Qt类中获得最好的效果。 我到目前为止的想法是: 编写一个自定义媒体播放器类,使用ffmpeg对video进行解复用和解码,实现定时,使用QAudioOutput播放audio,生成一串QVideoFrame在video上播放,并将自定义数据写入某个缓冲区进行可视化。 问题 :为了避免编写代码来重新缩放/转换video帧,我想重复使用QVideoWidget ,但它似乎只适用于“真正的” QMediaPlayer 。 将input文件解复用并将QMediaPlayer与AVstream一起馈QMediaPlayer 。 将input与ffmpeg解复用(可能将解码保留到Qt后端),有一个QIODevice只从input文件中检索video/audiostream,而另一个则检索数据stream。 用QMediaPlayer播放video/audio。 +——-+ | QFile | +—^—+ | inherits | +——————–+ | MyAviDemuxer | | | | holds a queue of | | demuxed packets | +——————–+ | | readDataPacket readVideoPacket | | +——-v——–+ +——–v———–+ […]

从python生成电影,而不保存个别帧到文件

我想从我在matplotlib中的python脚本中生成的帧创build一个h264或divx电影。 这部电影中大约有10万帧。 在networking上的例子[例如。 1],我只看到了将每个帧保存为png,然后在这些文件上运行mencoder或ffmpeg的方法。 就我而言,保存每一帧是不切实际的。 有没有办法从matplotlib生成的阴谋,并直接pipe道到ffmpeg,不生成中间文件? 用ffmpeg的C-API编程对我来说太困难了[例如。 2]。 此外,我需要一个具有良好的压缩,如x264的编码,因为电影文件否则将是一个后续步骤太大。 所以,坚持使用mencoder / ffmpeg / x264会很好。 有没有什么可以用pipe道做的[3]? [1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html [2] 如何使用x264 C API将一系列图像编码到H264中? [3] http://www.ffmpeg.org/ffmpeg-doc.html#SEC41

ffmpeg设置转换为MP4和ogg为HTML5video

尽pipe所有的炒作,实际上HTML5video标签有点问题。 为了使用它,并为了跨浏览器兼容,你必须包括多个video格式。 要定位所有支持的浏览器,这些格式是mp4和ogg。 我正在寻找各种格式的最佳设置,但不幸的是我找不到任何。 我使用ffmpeg 0.6,其标语是“与HTML5一起工作”。 我不是video专家,所以我想知道是否有人可以推荐每种格式的体面的设置?

未知的编码器“libx264”

我在ubuntu11上安装了ffmpeg 0.8.9 ./configure –enable-gpl –enable-nonfree –enable-pthreads –enable-libfaac –enable-libmp3lame –enable-libx264 当我运行它 ffmpeg -y -i test.mp4 -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -vcodec libx264 -b 250k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 250k -maxrate 250k -bufsize 250k -rc_eq […]

“过去的X.XXX太大”是什么意思?

当使用ffmpeg编码H.264时,我总是得到以下types的警告: Past duration 0.603386 too large Past duration 0.614372 too large Past duration 0.606377 too large 他们的意思是什么? 我没有find任何清晰的在线或在ffmpeg文档。

FFmpeg:如何有效地分割video?

我希望将一个大的AVIvideo分成两个更小的连续video。 我正在使用ffmpeg。 一种方法是运行两次ffmpeg: ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:30:00 output1.avi ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi 但是根据ffmpeg的手册,我只用一行就可以从一个input文件创build多个输出文件: ffmpeg -i input.avi -vcodec copy -acodec copy -ss 00:00:00 -t 00:30:00 output1.avi \ -vcodec copy -acodec copy -ss 00:30:00 -t 00:30:00 output2.avi 我的问题是,后面的方法是否节省了计算时间和内存?

ffmpeg将mov文件转换为mp4

您好我刚刚安装了ffmpeg,我试图将所有上传的video编码为.mp4文件,目前大多数用户上传.mov文件,我希望将每个video文件转换为.mp4文件。 我正在运行命令如下。 ffmpeg -i movie.mov -vcodec copy -acodec cop out.mp4 但是我得到的是以下错误 ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers built on Aug 19 2012 11:38:20 with clang 3.1 (tags/Apple/clang-318.0.61) configuration: –enable-nonfree –enable-gpl –enable-version3 –enable-postproc –enable-swscale –enable-avfilter –enable-libmp3lame –enable-libvorbis –enable-libtheora –enable-libfaac –enable-libxvid –enable-libx264 –enable-libvpx –enable-hardcoded-tables –enable-shared –enable-pthreads –disable-indevs –cc=clang libavutil 51. 9. 1 / 51. […]

使用ffmpeg编码高质量的video

我有一组video帧保存为一个目录中的图像,我试图编码这些质量好的video,但是每一个设置和每一个格式,我尝试产生非常明显的工件。 基本的命令是这样的: ffmpeg -r 25 -i %4d.png myvideo.mpg 我试过最小和最大的标志。 {mpg,avi,mov,flv}格式都可以。 任何build议的设置? 最终的文件大小不是问题。

如何使用ffmpeg将新的audio(不混音)添加到video中?

我使用了如下命令: ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio 在最新版本中添加新的音轨到video(不混合)。 但我更新了ffmpeg到最新版本( ffmpeg版本git-2012-06-16-809d71d ),现在在这个版本中参数-newaudio不起作用。 请告诉我如何使用ffmpeg将新audio添加到我的video(不混合)。

什么是FFmpeg支持的所有编解码器?

我需要FFmpeg支持的编解码器列表。 我在哪里可以find它?