我想使用免费的流媒体网站制作我的 linux 桌面的(窗口上的)实时流,使用捕获的视频作为假网络摄像头。Windows 上有很多工具可以做到这一点。ffmpeg 允许我捕获特定窗口上的输入,但我找不到将视频输出到可由 flash 使用的假网络摄像头式设备的方法。
任何人都可以推荐一种方法(或软件)来执行此操作吗?
在我的 .mp4 文件中,音频延迟为 -3840 毫秒。我在KMplayer中同步了它,我不想使用MKVGUI来制作.mkv文件。我只需要将音频延迟 3840 毫秒,其他一切都应该保持不变。
使用 ffmpeg 完成此操作的正确命令是什么?
我会很感激你的帮助。
我有一大堆音频文件(大约 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 盒子。
我与我的高质量电影叠加: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) 我有一个 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 可以表示的时间,那么我正在使用的其他工具是做什么的,为什么它运行良好?
我有一个大的 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,我希望拆分文件的大小仅为此大小的三分之一(如果我把它分成三块)。
目前,我正在将 .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,而不会损失太多质量并防止文件变大?
我有一堆由单个 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) 我找到了这个例子
ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv
Run Code Online (Sandbox Code Playgroud)
但我有一个视频,我想将速度提高 60 倍,而不仅仅是 2 倍。
ffmpeg ×10
mp4 ×4
video ×3
animated-gif ×1
audio ×1
codec ×1
command-line ×1
conversion ×1
encoding ×1
linux ×1
m4a ×1
mp3 ×1
screencasts ×1
speed ×1