我想最终将 1080p 转换为 720p 并降低分辨率。
ffmpeg
到目前为止,我一直在使用我的所有视频处理活动,并且只需使用以下命令来完成此任务:
ffmpeg -i tos.mov -vf scale=-1:720 tos_0x720.mov
我知道这会将我的视频重新缩放到新的帧大小,将 720 像素设置为固定高度并动态计算宽度。
我不确定使用ffmpeg
这种方式时对视频质量因素的影响。
我想从我的手机摄像头中连接一些视频:
ffmpeg -f concat -i /storage/emulated/0/tmp.sc -codec copy -threads 3 -strict -2 -y /storage/emulated/0/final.mp4
Run Code Online (Sandbox Code Playgroud)
基本上它运作良好。
但我也想在 concat 之前处理每个视频:
ffmpeg -i /storage/emulated/0/original0.mp4 -filter_complex scale=1137:640, crop=640:640:248:0, transpose=1 -threads 3 -preset ultrafast -strict -2 -y /storage/emulated/0/processed0.mp4
Run Code Online (Sandbox Code Playgroud)
它也可以正常工作。但是,当我尝试连接处理过的视频时 - 最终视频总是损坏,有时我会收到错误消息non-monotonous DTS in output stream
。
tmp.sc:
file '/storage/emulated/0/processed0.mp4'
file '/storage/emulated/0/processed1.mp4'
Run Code Online (Sandbox Code Playgroud)
过滤文件1:
ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 6 2015 00:45:52 with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/mike/Downloads/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/mike/Downloads/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig …
Run Code Online (Sandbox Code Playgroud) 我有两个文件 -video.mp4
和audio.mp3
,我想合并它们。最终视频必须具有video.mp4
.
我不知道这两个文件中哪个更长,所以我无法使用该-shortest
选项。
这是我到目前为止:
ffmpeg -y -i video.mp4 -i audio.mp3 -map 0:v -map 1:a -c copy final.mp4
Run Code Online (Sandbox Code Playgroud) 我正在下载种子文件中的视频,现在下载了 85%,我不小心点击了视频,它播放得很好,但播放几分钟后就卡住了。为什么视频播放得很好,即使是 85%?
我需要在ffmpeg中从点到点画一条线。我drawline
在 ffmpeg 中没有看到过滤器,所以我认为drawbox
需要使用(见下面的命令)。我怎么能适应它来绘制一条对角线,比如说,10,10
到500,500
?
我已经使用勾股定理来计算线需要有多“宽”,但这是我得到的:
ffmpeg -i input.mp4 -vf drawbox=x=10:y=10:w=692:h=1:color=red output.mp4
谢谢
我有一系列 jpg 图像,我想将它们转换为 avi 或 mpeg 电影文件。我尝试使用 Macports 安装 mplayer/mencoder,但它告诉我这已经过时并已被 mpv 取代。然而,mpv 的手册页并没有解释如何完成这个任务,将一系列图像编码成视频。我怎样才能做到这一点?
图像的格式为 yyyymmdd-hhmm.jpg(以便按字母顺序对它们进行排序将它们按正确的顺序排列),其中大约有 22000 个 - 我想制作延时视频而不是幻灯片。
(注意:我也尝试过使用 ImageMagick 和 ffmpeg,但是 convert 似乎想先将所有图像加载到内存中,从而锁定我的计算机并迫使我重新启动,而 ffmpeg 莫名其妙地只使用了前 100 帧左右然后停止,生成只有几秒钟长的输出视频。我也愿意接受其他建议。)
如果一个视频文件声称它有 30fps 和 10 秒,它可以精确地提取 300 张图像吗?
每种类型的视频文件都包含图像集合吗?
我正在使用 Ffmpeg 在 Windows 10 中录制屏幕视频:
ffmpeg -rtbufsize 1500M -f gdigrab -framerate 29.97 -draw_mouse 0 -offset_x 2777 -offset_y 344 -video_size 1280x720 -i desktop -c:v libx264 -vf format=yuv420p -preset ultrafast D:/myvideo.mpg
Run Code Online (Sandbox Code Playgroud)
如果我在 VLC 中播放录制的文件,它们工作正常。如果我在内置的 Windows Media Player 或“电影和电视”中播放它们,我会收到此错误代码:0xc10100be ERROR_INVALID_MODULETYPE
是否有任何设置需要添加到 Ffmpeg 以在 Windows 中使用?
我创建了一个自动运行 ffmpeg 代码行的程序,它适用于除一个之外的所有功能:如果我尝试绘制叠加一些字幕,则绝对路径有问题,如果我在桌面上打开的外壳中使用相同的代码它有效,但如果我写绝对路径,它就不起作用。
ffmpeg -i input.mp4 -filter_complex "subtitles=subs.srt:force_style='OutlineColour=&H80000000,BorderStyle=4,Outline=1,Shadow=0,MarginV=20,Fontsize=10,PrimaryColour=&H0000ff&'" output.mp4
Run Code Online (Sandbox Code Playgroud)
如果我使用自己的绝对路径(“c:\users\home\desktop\input.mp4”)更改 ffmpeg、input.mp4、subs.srt、output.mp4,它不起作用!
我也试过:
错误:
[subtitles @ 0000000002ab79c0] Unable to parse option value "UsersFamigliaDesktop569.srt" as image size
Last message repeated 1 times
[subtitles @ 0000000002ab79c0] Error setting option original_size to value UsersFamigliaDesktop569.srt.
[Parsed_subtitles_0 @ 0000000002ab78e0] Error applying options to the filter.
[AVFilterGraph @ 0000000002edcd20] Error initializing filter 'subtitles' with args 'C:UsersFamigliaDesktop569.srt:force_style=OutlineColour=&H80000000,BorderStyle=4,Outline=1,Shadow=0,MarginV=20,Fontsize=15,PrimaryColour=&H000000&'
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded …
Run Code Online (Sandbox Code Playgroud) 我最近买了一台 Luowice 的 IP 摄像机,型号LWS-R8-2MP。摄像机提供检测到运动时将视频上传到 FTP 服务器的功能。相机上传.264
文件。我的计划是在上传文件后触发一个脚本,该脚本将文件转换为.mp4
并通过即时消息服务传送。但是我无法转换文件,因为它似乎是一种不常见的或专有的格式。我已经尝试过这里提到的解决方案,但是当我运行时
ffmpeg -framerate 24 -i A180126_222057_222111.264 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)
我收到以下错误输出(这是在 macOS 上,但目标系统是 Linux):
ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. …
Run Code Online (Sandbox Code Playgroud) video ×10
ffmpeg ×7
audio ×1
bittorrent ×1
conversion ×1
frame ×1
h.264 ×1
images ×1
ip-camera ×1
macos ×1
mpv ×1
path ×1
subtitles ×1
windows-10 ×1