我正在尝试使用 FFmpeg 删除视频的几个部分。
例如,想象一下,如果您在电视上录制了一个节目并想剪掉广告。这对于 GUI 视频编辑器来说很简单;您只需标记要删除的每个剪辑的开头和结尾,然后选择删除。我正在尝试使用 FFmpeg 从命令行执行相同的操作。
我知道如何将单个片段剪切为新视频,如下所示:
ffmpeg -i input.avi -ss 00:00:20 -t 00:00:05 -map 0 -codec copy output.avi
Run Code Online (Sandbox Code Playgroud)
这会剪切一个 5 秒的剪辑并将其另存为新的视频文件,但是我如何做相反的事情并在没有指定剪辑的情况下保存整个视频,以及如何指定要删除的多个剪辑?
例如,如果我的视频可以用 ABCDEFG 表示,我想创建一个由 ACDFG 组成的新视频。
在我的 .mp4 文件中,音频延迟为 -3840 毫秒。我在KMplayer中同步了它,我不想使用MKVGUI来制作.mkv文件。我只需要将音频延迟 3840 毫秒,其他一切都应该保持不变。
使用 ffmpeg 完成此操作的正确命令是什么?
我会很感激你的帮助。
昨天我正在用手机拍摄一个场景,但突然应用程序崩溃了,当我尝试打开生成的 m4v 时,它说它已损坏。
我已经在我的 PC 上下载了视频文件(大约 36MB),我正在尝试打开和修复它。你能给我建议一种方法吗?
FFMPEG 信息
正如评论中所建议的,我尝试使用此命令检查 FFMPEG 对我说的关于该文件的内容
ffmpeg.exe -i VID_20120425_144739.m4v -c:v copy -c:a copy out.mp4 2> log.txt
Run Code Online (Sandbox Code Playgroud)
结果如下:
ffmpeg version N-40126-ga4b58fd Copyright (c) 2000-2012 the FFmpeg developers
built on Apr 26 2012 03:29:50 with gcc 4.6.3
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 51. 47.100 / 51. 47.100
libavcodec 54. 15.100 …Run Code Online (Sandbox Code Playgroud) 我有一个大的 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) 我有两个高质量的 mp4 文件,它们是同一个节目的两个部分。
我想将它们合并到一个文件中,我通常使用 VirtualDub 来合并我的文件......但它似乎不支持 mp4。
有哪些替代方案(尤其是不需要重新编码的替代方案)?
我有大量 MKV 文件需要转换为 MP4,我选择的软件是 Handbrake。
我被困在哪些设置最适合转换。我想保持完整的质量。我是否只是使用原始设置进行转换而不更改任何内容,或者是否需要更改任何特定内容?
我正在使用我的FFMPEG和我的 GPU ( NVENC ) 的支持将文件从我的卫星接收器(SD、mpeg2 .TS 文件)转换为 h264 .mp4 文件
这是我正在使用的线路
ffmpeg -i "e:\input.ts" -vcodec h264_nvenc -preset slow -level 4.1
-qmin 10 -qmax 52 "e:\output.mp4"
Run Code Online (Sandbox Code Playgroud)
但是质量并没有想象中的那么好。并且没有使用我系统的全部功能:
只有 11% 的 GPU 和 30% 的 CPU 使用率。
问题:我可以做一些改进以通过相同的文件大小提高质量并使用我的 Geforce GTX 1080 的更多计算能力吗?
如何将一组 WMV 文件转换为 MP4,以便我可以将它们导入我的Apple TV?