标签: ffmpeg

在 linux 上使用桌面作为假网络摄像头

我想使用免费的流媒体网站制作我的 linux 桌面的(窗口上的)实时流,使用捕获的视频作为假网络摄像头。Windows 上有很多工具可以做到这一点。ffmpeg 允许我捕获特定窗口上的输入,但我找不到将视频输出到可由 flash 使用的假网络摄像头式设备的方法。

任何人都可以推荐一种方法(或软件)来执行此操作吗?

linux ffmpeg screencasts virtual-webcam

78
推荐指数
3
解决办法
11万
查看次数

ffmpeg 默认使用多少线程?

我看到-threads <count>ffmpeg中有一个命令行选项。这个选项的默认值是多少?

ffmpeg

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

在 ffmpeg 中,如何仅延迟 .mp4 视频的音频而不转换音频?

在我的 .mp4 文件中,音频延迟为 -3840 毫秒。我在KMplayer中同步了它,我不想使用MKVGUI来制作.mkv文件。我只需要将音频延迟 3840 毫秒,其他一切都应该保持不变。
使用 ffmpeg 完成此操作的正确命令是什么?
我会很感激你的帮助。

encoding mp4 ffmpeg conversion

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

FFMPEG:将 m4a 转换为 mp3 而不会造成重大损失

我有一大堆音频文件(大约 1000 个),我想将它们从 m4a 转换为 mp3,这样我就可以在带有 USB 端口的 CD 播放器上播放它们。

我尝试做一些简单的事情,例如:ffmpeg -i FILE.m4a FILE.mp3但这似乎将比特率降低到非常低的值,这不是我想要的。

同样,我不想使用恒定比特率(例如 320k)进行转换,因为我正在转换的某些文件是 320k m4a,而有些文件的质量与 96k m4a 一样低。

强制 320k 似乎没有意义,因为某些文件会变得比它们需要的大很多倍。同样,通过将我所有的 320k 文件转换为远低于 96k 的文件来销毁它们也是没有意义的。(目前,文件正在转换为大约 50k。)

有谁知道我怎么能做到这一点?我真正想做的是告诉 ffmpeg 将目录中的所有 m4a 文件转换为 mp3,同时尽可能保留当前的音频质量。(当然,从有损文件格式转换为有损文件格式可能会产生一些额外的损失。)

谢谢你的帮助。如果这是不可能的,是否有某种脚本可以在单独转换文件时检测到所需的质量?

PS:我正在使用英特尔 Mac,但也有一个 Ubuntu 盒子。

audio mp3 ffmpeg m4a audio-conversion

74
推荐指数
3
解决办法
9万
查看次数

使用 ffmpeg 以最小的质量损失将视频从 1080p 转换为 720p

我与我的高质量电影叠加:1080p 和 60fps。问题是玩的时候卡顿。

我尝试使用 ffmpeg 将其转换为 720p:

ffmpeg -i MyMovie.mkv -r 60 -s hd720 MyMovie_720p.mkv
Run Code Online (Sandbox Code Playgroud)

但是由于比特率从 32.3 Mbps 降低到 2.8 Mbps,因此质量损失很大。如何为视频流指定正确的比特率,并使所有其他流复制原始?

输入文件mediainfo:

ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2h 58mn
Bit rate                                 : 32.3 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 59.940 …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg video-conversion high-definition

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

为什么 FFmpeg 为 60 fps GIF 图像选择 10+20+20 ms 而不是偶数 16 ms?

我有一个 60 fps 的短视频,我想将其转换为 GIF 文件。我跑

ffmpeg -i foo.flv foo.gif
Run Code Online (Sandbox Code Playgroud)

它会生成一个 GIF 文件。伟大的!

唯一的问题是,生成的 GIF 视频中的运动很不稳定且不均匀。如果我使用另一个工具,我可以看到 FFmpeg 创建了一个视频,其中第一帧长 10 毫秒,第二帧长 20 毫秒,第三帧长 20 毫秒,然后重复:10 毫秒、20 毫秒、20 毫秒。如果我使用另一个工具将它平滑到每帧 16 毫秒(不更改帧内容),结果看起来很漂亮。

为什么 FFmpeg 这样做?我如何要求它编写一个 GIF 文件,该文件要求每帧甚至 16 毫秒,这样我就不需要使用第二个工具?

我现在看到了这个相关的问题,询问是否存在 60 fps GIF 视频,但它没有解决如何要求 FFmpeg 改变其行为的问题。此外,它还提出了一个新问题:如果 16 毫秒不是 GIF 可以表示的时间,那么我正在使用的其他工具是做什么的,为什么它运行良好?

video ffmpeg animated-gif

68
推荐指数
1
解决办法
7393
查看次数

FFMPEG 分割相同质量的 MP4

我有一个大的 MP4 文件。我正在尝试将其拆分为较小的文件。

ffmpeg -i largefile.mp4 -sameq -ss 00:00:00 -t 00:50:00 smallfile.mp4
Run Code Online (Sandbox Code Playgroud)

我认为使用 -sameq 会保持相同的质量设置。但是,我一定不明白那是做什么的。

我希望与拆分文件保持相同的质量(音频/视频)和压缩。但是,此设置使拆分文件更大。

我需要设置什么标志才能在拆分文件中保持相同的质量和属性,同时保持相同的质量与大小比?

例如,如果我的原始文件大小约为 12 GB,大小为 1920x1080,比特率为 10617kbps,帧率为 23 帧/秒,6 声道音频为 317kbps,我希望拆分文件的大小仅为此大小的三分之一(如果我把它分成三块)。

video mp4 ffmpeg

66
推荐指数
2
解决办法
7万
查看次数

FFMPEG 将 flv 转换为 mp4 而不会降低质量

目前,我正在将 .flv flash 文件转换为 .webm 和 .mp4 文件,以便与 HTML5 视频播放器一起使用。

_

我将这个 ffmpeg 命令用于 WEBM:ffmpeg -i filename.flv -vcodec libvpx -acodec libvorbis filename.webm 它工作得很好并且文件大小保持相对相同(重要)。

_

对于 MP4,我使用以下内容: ffmpeg -i filename.flv -sameq -ar 22050 filename.mp4

它可以很好地转换为 .mp4 并防止任何质量损失,但文件大小几乎增加了三倍。

什么 ffmpeg 公式可用于转换为 MP4,而不会损失太多质量并防止文件变大?

mp4 ffmpeg

65
推荐指数
3
解决办法
12万
查看次数

使用 ffmpeg 复制编解码器将 *.ts 文件合并为单个 mp4

我有一堆由单个 index.m3u8 文件描述的 ts 段:

index.m3u8        
segment1_0_av.ts  
segment2_0_av.ts  
segment3_0_av.ts  
segment4_0_av.ts  
segment5_0_av.ts
Run Code Online (Sandbox Code Playgroud)

我知道它们都以相同的方式编码。ffprobe 给了我以下内容:

Input #0, mpegts, from 'segment1_0_av.ts':
  Duration: 00:00:10.00, start: 0.100511, bitrate: 1251 kb/s
  Program 1 
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 960x540 [SAR 1:1 DAR 16:9], 12.50 fps, 25 tbr, 90k tbn, 25 tbc
    Stream #0:1[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 105 kb/s
    Stream #0:2[0x102]: Unknown: none ([21][0][0][0] / 0x0015)
Run Code Online (Sandbox Code Playgroud)

我想将它们组合成一个 mp4 容器。但是当我尝试以下命令时:

ffmpeg -f concat -i filelist.txt -c copy output.mp4 …
Run Code Online (Sandbox Code Playgroud)

codec mp4 ffmpeg command-line video-conversion

65
推荐指数
6
解决办法
13万
查看次数

如何在 ffmpeg 中将视频加速 60 倍?

我找到了这个例子

 ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv 
Run Code Online (Sandbox Code Playgroud)

但我有一个视频,我想将速度提高 60 倍,而不仅仅是 2 倍。

speed ffmpeg

61
推荐指数
4
解决办法
4万
查看次数