我有一个文件夹,其中包含许多带时间戳的 PNG 图像,我想将这些图像合并到一部短片中。该目录的内容如下所示:
??? images
??? img_20130421_115547.png
??? img_20130421_115617.png
??? img_20130421_115926.png
??? img_20130421_120034.png
??? img_20130421_120129.png
??? img_20130421_120245.png
??? img_20130421_120354.png
??? ...
Run Code Online (Sandbox Code Playgroud)
我尝试在图像目录中运行以下命令,但无济于事:
$ ffmpeg -y -f image2 -pattern_type glob -i 'img*.png' -r 24 out.mp4
ffmpeg version 0.8.6-6:0.8.6-0ubuntu0.12.10.1, Copyright (c) 2000-2013 the Libav developers
built on Apr 2 2013 17:02:16 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Unrecognized option 'pattern_type' …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一些 Wowza 媒体服务器的测试脚本。基本上,我正试图将那些活生生的 Bejeepers 打败。我有 5 台稍旧的计算机,最初是 XP 机器,我已经在上面安装了 Mint 15。我有一个脚本,它基本上调用文件(或文件的符号链接)并将其放入 avconv,然后将其转储为 null。
这里的想法是,这些计算机中的 5 台每秒都启动一个新线程,直到它们可以处理的最大值为止,而不会冻结,我们将对我们当前的实现可以处理的内容有一个很好的了解。我的脚本很好用,但只适用于某些机器。这些系统都是相同的硬件,一开始我在它们上安装了相同的软件,尽管从那时起,其中一些系统可能已经为各种任务安装了额外的软件包。我在脚本中发出的命令是:
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
built on Mar 30 2013 22:20:06 with gcc 4.7.2
[h264 @ 0xd87ae0] mmco: unref short failure
[applehttp @ 0xd80d40] max_analyze_duration reached
[applehttp @ 0xd80d40] Estimating duration from bitrate, this may be inaccurate
Input #0, applehttp, from 'http://OUR_DOMAIN.com:1935/vod/_definst_/encode/video_file/00/00/00/12/13/mp4:TestFile.mp4/playlist.m3u8':
Duration: 02:05:54.00, start: 27.728000, bitrate: N/A
Stream #0.0: Data: [21][0][0][0] / 0x0015
Metadata:
variant_bitrate : 1610015
Stream #0.1: …Run Code Online (Sandbox Code Playgroud) 我在看这个问题
我想使用 avconv 来做到这一点,但是,我还想将帧大小缩小大约一半。我的问题是当我这样做
avconv -i "$file" -s 640x480 -strict experimental "mp4/$file.mp4"
Run Code Online (Sandbox Code Playgroud)
输出的像素化程度令人难以置信,并且会大大降低视频质量。我正在尝试为我的掌上电脑将视频文件转换为更小的尺寸。基本上,我试图得到这个:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : No
Format settings, ReFrames : 4 frames
Format settings, GOP : M=2, N=48
Codec ID : V_MPEG4/ISO/AVC
Duration : 21mn 31s
Bit rate mode : Variable
Maximum bit rate : 1 101 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect …Run Code Online (Sandbox Code Playgroud) 阅读本页后,我正在使用 avconv(在这种情况下显然与 ffmpeg 相同,我需要使用它来代替,因为我在 Ubuntu 上可信赖)来加速 .swf 视频。
我不想要质量损失(对压缩不感兴趣),只是视觉加速。
avconv -i input.swf -filter:v "setpts=0.5*PTS" output.swf
Run Code Online (Sandbox Code Playgroud)
导致质量损失。我该如何防止?
我不明白为什么会发生这种情况,mplayer -af scaletempo -speed 1.7 myvideo.swf玩得很好。
从阅读此页面我尝试
avconv -i input.mkv -filter:v "setpts=0.5*PTS" -b 1080 output.mkv
Run Code Online (Sandbox Code Playgroud)
但它没有帮助。
我正在尝试使用 Firefox 扩展“视频下载助手”(VDH)来转换和录制视频。建议的方法是从VDH 主页安装一个名为“Convert Helper”的预编译版本的 libav 。
出于各种原因,我不愿意这样做。¹
所以我想在我的 Windows 7 (x64) 系统上安装 libav 并将插件指向正确的 .exe/.dll/无论它需要什么。有一个选项可以在设置中手动输入“转换器路径”,尽管它对我不起作用 - 可能是因为我没有输入正确的路径。单击“重新检查转换器”按钮后,输入的路径就会消失。(我真的不知道,如果相应的字段即使输入制作的。你可以看到设置页面的图片在这里的“使用转换规则”部分。)
问题是:如何正确安装 libav?
libav 在下载部分提供了 Windows 版本,但我不知道将提取的文件放在哪里,也不知道如何让 Firefox 插件识别安装。我只是将 .dlls 和 .exes 放在 System32 文件夹中还是可能在系统的 $PATH 变量中?有没有其他办法?
任何想法都非常感谢。
他们的¹One是他们要我付一个完全免费的编解码器,以避免水印是(的一部分),为什么他们出现在libav大厅殇(备注(2016年3月29日):在耻辱的大厅被删除,直到另行通知)。在 Linux 上没有任何问题(请参阅 Linux 的安装说明)。另一个原因是我想对系统上安装的内容有一定程度的控制,而且“ConverterHelper.exe”显然不仅仅是libav 编解码器的编译版本。
错误摘要:您好,我已经在 ubuntu 14.04lts 上使用 mininet 模拟器创建了一个网络。在这个网络中,我想在两台主机之间传输视频。我在 Sender 主机中使用了 vlc,在 Receiver 主机中使用了 ffmpeg。当我运行 ffmpeg 时,我收到了很多这些错误:
[avi @ 0x66c1900] Non-monotonous DTS in output stream 0:1; previous: 3497, current: 3480; changing to 3498. This may result in incorrect timestamps in the output file.
[avi @ 0x66c1900] Non-monotonous DTS in output stream 0:1; previous: 3498, current: 3481; changing to 3499. This may result in incorrect timestamps in the output file.
[avi @ 0x66c1900] Non-monotonous DTS in output stream 0:1; previous: 3499, current: 3482; changing …Run Code Online (Sandbox Code Playgroud) 我有一个 mkv 文件,想将其转换为 DVD 兼容的 mpg 文件,扩展名为avconv. 我怎样才能从同一个 mkv 文件中烧入一个字幕流?
avconv -i input.mkv -map 0:0 -map 0:1 -target pal-dvd -aspect 16:9 -q:v 1 -acodec mp2 -ac 2 -ab 128k output.mpg
我试图从调整的视频1920x1800,以1280x720供手机观看。
这是我使用的命令:
avconv -i input.mkv \
-map 0:v -map 0:a:1 -map 0:s:0 \ # map video, 2nd audio stream, and subtitles
-s 1280x720 \ # resize
-c:a copy -c:s copy \ # copy audio and subtitles
output.mkv`
Run Code Online (Sandbox Code Playgroud)
输出确实是正确的分辨率,但它受到伪影的影响。
输入:

输出:

输出细节:

我需要从视频中间提取 30 秒的间隔,同时将其转换为 webm。ffmpeg 似乎是一个完美的衬里:
ffmpeg -i long.mkv -vcodec libvpx -b:v 1M -ss 02:00:00 -t 00:00:30 -threads 4 out.webm
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,它几乎立即吞噬了所有可用内存,并且开始交换内容,因此我将其杀死。在没有发现任何明显错误之后——而且我很少使用 ffmpeg——我尝试了 avconv。它没有报告做任何事情,内存使用量(缓慢)朝同一方向增长。
经过一些测试:
-ss 02:00:00 -t 00:00:01
-ss 00:00:01 -t 00:00:01
-ss 00:01:00 -t 00:00:01
Run Code Online (Sandbox Code Playgroud)
似乎 ffmpeg 正在将整个电影加载到-ss内存中,或者类似的东西。无论如何它似乎不适合这种操作。我的问题是,我做错了什么,而 ffmpeg 实际上可以以合理的资源使用来执行此操作?如果 ffmpeg 不是为此目的或者只是在如何做到这一点上很愚蠢,是否有任何替代方案不涉及将矩形拖放到时间轴中并使用小剪刀和滚动条?
debian@pc:~/ ffmpeg -version
ffmpeg version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 23:10:48 with gcc 4.7.2
The ffmpeg program is only provided for script compatibility and will be removed
in a …Run Code Online (Sandbox Code Playgroud) 我想,我的问题很简单……
有时我喜欢从我的网络服务器下载大型 MKV 文件,并在下载时播放它们。但是,如果我对已转码的 MKV 文件执行此操作,则该文件通常会显示它比实际短得多,并且在播放结束后它将继续播放并显示不正确的时间......例如它将显示 2:50/2:50 但继续播放,但是如果我尝试使用箭头键向后搜索,播放器将崩溃或跳回文件的开头。
那么,如何在编码时将所有元数据移动到文件的开头,以便播放器知道文件的长度而不需要整个文件?您可以mp4通过 using对格式执行此操作-movflags faststart,但如何为 执行此操作mkv?
如果已经在其他地方询问并回答了这个问题,我很抱歉,我想不出比我使用的更好的关键字,而且我使用的关键字没有产生任何结果。