我正在尝试使用FFprobe来测试流链接是否处于活动状态.
例如,这是一个有效的流媒体链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/185
Run Code Online (Sandbox Code Playgroud)
我得到输出意味着链接是活跃的.
但是,一旦我将链接更改为无效的链接:
ffprobe -loglevel quiet -show_streams rtmp://Lrmh0w.cloud.influxis.com/yoy/_definst_/18555555555
Run Code Online (Sandbox Code Playgroud)
该命令在后台运行,没有结果.
有没有办法绕过这个,还是有任何ffprobe超时参数?我从官方网站文档中找不到它.
我从输入流(mxf 或 mov)中获取生成的 mp4 视频流,并且在执行此操作时我将其-psnr用作 H264 参数。结果是大约。40 或 41。
然后我将输入和输出与 psnr(或 ssim)过滤器进行比较。结果大约 20 或 21。这是一个很大的区别。有没有人知道这种差异的原因?
注意:ssim 结果是相似的。第一个是 ~0.97,第二个是 ~0.83
ffmpeg -i input.mov -codec:v libx264 -psnr -f mp4 output.mp4
PSNR (~40)
ffmpeg -i output.mp4 -i input.mov -filter_complex psnr -f mp4 /dev/null
PSNR (~20)
Run Code Online (Sandbox Code Playgroud)
ffmpeg -i input.mov -codec:v libx264 -ssim -f mp4 output.mp4
SSIM (~0.98...)
ffmpeg -i output.mp4 -i input.mov -filter_complex ssim -f mp4 /dev/null
PSNR (~0.83...)
Run Code Online (Sandbox Code Playgroud) 我有两个mp4文件:
如何将1转换为2(mp41到mp42)?
谢谢 !
我正在尝试将ffmpeg用于许多文件。在使用ffmpeg之前,每个文件的音频流的实际数量(通常每个流通常有一个通道)是未知的。期望的结果是使ffmpeg以某种方式获取音频通道的数量,使用命令行中的数字将那些通道合并到一个音频通道中。目标是创建原始视频文件的预览版本,以在简单的HTML5页面中使用。仅用一次拨打ffmpeg就能实现吗?(此外,道歉是我仍在学习的部分问题)
编辑:Dumas stackoverflow询问器在这里。是的,我一直在尝试ffmpeg args的多种组合。为了回答另一个问题,我们的视频文件具有多个流,通常具有单个通道。我将很快发布一些cmdline示例。
这个cmdline示例可以满足我的要求。一共有8个流,并且我能够将所有音频合并为一个。问题是在运行ffmpeg之前必须知道数字:
ffmpeg -i EXAMPLE.MOV -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[0:a]amerge=inputs=8[a]" -map "[v]" -map "[a]" -c:v libx264 -crf 23 -preset medium -c:a libmp3lame -ar 44100 -ac 2 OUTPUT.mov
Run Code Online (Sandbox Code Playgroud) 我想在视频上放置一个颜色叠加(蓝色,红色或绿色或十六进制值),为它提供类似Instagram效果的滤镜.
我认为应该是这样的:
ffmpeg -i video.mp4 -i "red.png" -filter_complex "blend=all_mode='screen':all_opacity=0.7" output.mp4
Run Code Online (Sandbox Code Playgroud)
或者也许 all_mode=overlay
但是我收到一个错误:
First input link top parameters (SAR 0:1) do not match the corresponding second input link bottom parameters (SAR 1:1).
Run Code Online (Sandbox Code Playgroud)
我也尝试过lutrgb=r=1.5,但没有给它一个红色(它需要红色).
我究竟做错了什么 ?
我有两个字幕轨道文件:spanish.ass和english.ass. 我想将它们插入 mp4。我可以做一个或另一个,但不能同时做。
我在用:
ffmpeg -i Clean.mp4 -i spanish.ass -c:s mov_text -c:v copy -c:a copy -metadata:s:s:0 language=spa With1CC.mp4
Run Code Online (Sandbox Code Playgroud)
进而
ffmpeg -i With1CC.mp4 -i english.ass -c:s mov_text -c:v copy -c:a copy -metadata:s:s:0 language=eng With2CC.mp4
Run Code Online (Sandbox Code Playgroud)
...但是当第一个语句成功插入西班牙语字幕时,第二个语句只是将曲目的视觉名称更改为英文。实际的英文曲目实际上并未作为第二首曲目插入
我实际上使用ffmpeg本机aac编码器将音频文件从ac3编码为aac,但问题是文件播放不正确,更具体地说,我在不同的媒体播放器中播放了该文件,但大部分都是从19秒开始,而在vlc中它甚至没有开始,直到我寻求超过19秒的持续时间.
我用过的命令是: - ffmpeg -i source.mkv -map 0:a:0 -c:aac audio.mp4.
我正在编写一个脚本,该脚本搜索当前目录和子目录中的所有媒体文件,然后将它们批量编码为 H.265。我希望加入一些最大帧尺寸,使 1080p 的内容变成 720p。这是最简单的部分,但我有一些是 480p 的,我不希望它们最终变成 720p。如何修改我的 ffmpeg 过滤器以考虑到这一点?
命令:
ffmpeg -i input -c:v hevc_nvenc -preset medium -crf 28 -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud) 是否可以以 1 倍的写入速度对 4K 资产进行编码?
以下是我们的编码命令以及 CPU、源资产和编码命令输出的详细信息:
编码命令
ffmpeg -i 4K_Source.mp4 -c:v libx265 -preset ultrafast
-x265-params fps=60:profile=main:min-keyint=60:crf=19 -vf "scale=3840:2160"
-sc_threshold 0 4K_UF_3840x2160_CRF19.mp4
Run Code Online (Sandbox Code Playgroud)
源资产详细信息
Overall bit rate mode : Constant
Overall bit rate : 51.6 Mb/s
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
Duration : 1 min 33 s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 59.940 (60000/1001) FPS
Run Code Online (Sandbox Code Playgroud)
CPU详情
Intel(R) Xeon(R) CPU …Run Code Online (Sandbox Code Playgroud) FFmpeg 现在支持对 SVG 光栅化的 librsvg 支持。
我尝试了以下命令:
ffmpeg -i test.svg test.png
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
ffmpeg -i test.svg test.png
Run Code Online (Sandbox Code Playgroud)
我搜索了文档,但没有给出示例。有人可以告诉我如何使用 ffmpeg 在命令行中从 SVG 文件生成 PNG 吗?