我有一个视频文件 MP4 及其 SRT 文件。我想将带字幕的场景导出到 JPEG 文件中。
我是 Windows 用户。
类似于示例图片。我需要一个软件,它可以获取视频文件及其字幕,并仅将带字幕的场景提取到 JPEG 文件中。
我有一台戴尔 2007FP 显示器。结果如下get-edid
:
paul@cube:~$ sudo get-edid -b 3 | parse-edid
3
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 3 as per your request.
128-byte EDID successfully retrieved from i2c bus 3
Looks like i2c was successful. Have a good day.
Checksum Correct
Section "Monitor"
Identifier "DELL 2007FP"
ModelName "DELL 2007FP"
VendorName "DEL"
# Monitor Manufactured week 11 of 2009
# EDID version 1.3
# Digital Display
DisplaySize 410 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-83
VertRefresh 56-76
# Maximum pixel clock is 170MHz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1600x1200, 60Hz
#Not giving standard mode: 1152x864, 75Hz
Modeline "Mode 0" +hsync +vsync
EndSection
这是什么Not giving standard mode
意思?我的显示器是否向信号源提供任何视频模式信息?
我有一个目录,里面有视频文件及其对应的(隐藏).idx 文件。删除任何视频文件时,相应的 .idx 文件都会保留下来。我想定期删除这些“不相关的”.idx 文件。
下面的批处理脚本实现了这一点,但它仅在 .idx 文件名与视频文件名匹配时才有效。即:One.mts和One.idx。问题是,在创建时, .idx 文件的名称后会附加视频文件扩展名。因此,我有One.mts和One.mts.idx。
我如何让代码比较这两个名称,同时忽略 .idx 文件中附加的扩展名。最好的解决方案是,如果我可以让代码忽略文件的 .idx 部分,同时仍然比较这两个文件。这将使其他视频类型可以存储在同一目录中,而不会删除它们的 .idx 文件,因为它们与 .mts 视频文件名不匹配(我认为)。
仅供参考:.idx 文件被隐藏的事实与以下代码无关。
@echo off
echo.
echo.
for %%F in ("*.idx") do @if not exist "%%~nF.mts" echo "%%F"
echo.
echo.
set /p my_var= Press ENTER To Delete...Click X to Cancel
for %%F in (*.idx) do @if not exist "%%~nF.mts" del "%%F"
我在 Raspberry Pi 5 上有一个服务器(顺便说一下,8 GB 的 RAM)。我安装了 Nginx,它允许我和其他人通过一个不错的网站观看我的视频。虽然经过反复尝试和各种错误,我发现我无法在 Pi 上启用视频流。它会超载并因某种原因损坏操作系统,并迫使我重新安装它(几个小时后我又会这样做……)。但我可以允许下载,没有问题。
所以我的问题是,我是否可以允许流式传输部分视频并允许完全下载它们。更具体地说(因为这个解释可能很糟糕),我希望用户开始播放视频,浏览器只显示光标所在位置的第一帧,而不会在视频上向前移动 - 使 Pi 不会超载加载视频。这样我们就知道我们想看哪个视频(通过了解视频中的内容。标题是不够的),然后我们实际上会下载视频来观看它。如果我还是没有解释清楚,请告诉我,我会再试一次。
我的服务器配置:
server {
listen 98 default_server ssl;
ssl_certificate /etc/ssl/certs/...;
ssl_certificate_key /etc/ssl/private/...;
server_name default_server;
root /srv/...;
location "/favicon.ico" {
alias /srv/...;
}
#location ~* ^.+\.(mp4|mp3)$ {
# add_header Content-disposition "attachment";
#}
autoindex on;
autoindex_format html;
autoindex_exact_size off;
autoindex_localtime on;
add_before_body "/,theme/nginx-before.html";
add_after_body "/,theme/nginx-after.html";
location /,theme/ {
root /srv/...;
}
location / {
auth_basic "";
auth_basic_user_file "/srv/...";
access_log on;
try_files $uri $uri/ =404;
}
}
我对使用 Handbrake 还很陌生,众多的配置有点令人困惑。
我查看了文档和论坛,并且自己做了一些测试,发现使用 Fast 1080p30,mkv 480p 视频的大小通常会减小到 30%。
如果我理解正确的话,配置的分辨率只会影响分辨率限制,所以我是否应该检查视频的所有分辨率并使用正确的配置(例如,480p 视频使用快速 480p30,720 视频使用快速 720p30 等) ,或者我可以使用快速 1080p30 来处理所有内容,同时保持合理的压缩级别吗?
请注意,我不想知道是否非常快/快速/总部/等。更好,因为“快速”似乎是一个很好的折衷方案,而且我并不受计算机上可用空间的限制。
有没有一种简单的方法可以让 James Richardson 的GoPro 仪表板覆盖工具显示总距离或平均速度?我不明白。文档中显示的默认渲染似乎没有显示如何显示总距离小部件。
我的第一个渲染是这样的:
venv/bin/gopro-dashboard.py GX010027.MP4 test.MP4
我可能可以弄清楚如何摆脱温度、RPM 和 BPM 仪表,因为我没有使用此处发布的 Jack Henschel 的 XML 布局文件来获取它们的数据,但我在文档中没有看到有关如何使用的任何地方命令行参数或修改 XML 配置文件,以便我可以获得总距离小部件。
有什么方法可以将命令行参数传递给 gopro-dashboard.py 或修改 XML 布局文件以获取总距离小部件?
笔记:
摘要:我有一部几年前从 YouTube 下载的老电影,保存为 flv。我想从中提取一个 13 分钟的剪辑。为此,我使用 ffmpeg 将其转换为 mp4,这样我就可以将其加载到达芬奇中,并在其中提取了剪辑。然后我用Handbrake来压缩它。但当我这样做时,HandBrake 显着减小了帧大小,并且压缩后的剪辑与原始剪辑相比有些模糊。
为什么 HandBrake 会强制减小帧大小,以及如何让它以正确的帧大小输出?
细节:
flv 文件大小为 268 MB,持续时间 107 分钟,帧大小 318x240,帧速率 25:
我用来转换为mp4的ffmpeg命令:
ffmpeg -i input.flv -c copy output.mp4
这花了大约一秒钟的时间。结果是 264 MB:
我将其加载到 DaVinci 中,提取剪辑,然后渲染为 mp4、H.265、318x240、25 fps:
结果是 51.4 MB,13:19 mm:ss。MediaInfo 报告它是 HEVC,我理解这意味着它是 H.265,正如我所要求的:
尺寸与时间的比例比整部电影大得多:
当我在 HandBrake 中加载剪辑时,它告诉我源是 318x240,25 fps。尽管它是 H.265 格式,HandBrake 告诉我它是 H.264 格式。然后,HandBrake 也与它的源信息相矛盾,在“Tracks”下说它是 30 fps,尺寸是 234x174。
========================
在 Handbrake 的“视频”选项卡中,编码器显示为 H.264,帧速率为 30。RF 为 22:
========================
我将其更改为 265 和 25:
========================
“尺寸”选项卡再次显示尺寸为 318x240,但随后又显示:
缩放后的大小和最终存储大小为234x174。我尝试单击几个内容,但无法更改输出大小。
========================
当我运行它时,输出为 22 MB,这很好地减少了文件大小:
但帧大小是234x174:
与原始视频相比,该视频有些模糊,这很可能是由于帧尺寸减小造成的。
由达芬奇渲染的剪辑。
这可能会为问题提供线索。图像占用的空间小于播放器的整个窗口。达芬奇是否缩小了视频的比例?
为什么 HandBrake 会强制减小帧大小,以及如何让它以正确的帧大小输出?
为了回答这个问题,我下载了视频:
下载为“3Uyndrm.mp4”,4,762 kB
在 Windows 11 中,我使用“文件资源管理器”>“详细信息”来查看其属性:
在这些数据中,Data rate
是视频比特率,
Total bitrate
= 音频Bit rate
+ 视频Data rate
通过根据这些数字计算文件的大小可以确认这一点:
File size = 1,765,000 bits/sec * 22 second / 8 / 1024 = 4,740 kB
但我对这些数字有些不明白。
我们可以计算视频中每秒的像素数:
(854 * 480) pixels/frame * 30 frames/sec = 12,297,600 pixels/sec
由此,我们可以得到每个像素的视频位数:
1,635,000 bits per sec / 12,297,600 pixels/sec / 8 = 0.017 byte/pixel
这有道理吗?这意味着视频数据只是每帧中每个像素一个字节的一小部分。我本以为每个像素的颜色值至少需要三个字节。将其从 3 减少到 0.017 的压缩率将超过 99%,这比我听说过的任何压缩比都要大。
我的计算有问题吗?
我有一台 Latitude 7490 i7-8650U 32GB RAM Windows 10 系统,配有 2 个外部 HP 24es 显示器。
显卡是Intel UHD Graphics 620。我的分辨率设置为1920x1080。
我使用的是CLDAY 的双 HDMI 转 USB-C 适配器。这个链接上写着 GADEBAO,但亚马逊声称我购买了它的不同版本。
如果我浏览https://www.ctvnews.ca并且现场报道视频开始播放,那么我的 USB-C 连接显示器将变为空白。我已经在 Edge、Firefox 和 Chrome 上尝试过了,结果都是一样的。Youtube 永远不会引起问题,使用 vlc 播放器也可以。
HTML 似乎是一个 jasper-player
<div class="jasper-player-overlay__container--vXxZG">...
我进行了搜索,发现有很多人在不同的笔记本电脑和配置上遇到同样的问题,他们联系了他们的制造商或操作系统支持人员,他们通常建议更新驱动程序/BIOS/并在你的肩膀上撒盐。这些似乎都没有人能够找到解决方案。
用户报告更新 BIOS/驱动程序/切换 USB-C 适配器但没有找到解决方案。一位报告取得了一些成功的用户从 HDMI 切换到了 DisplayPort。我的显示器背面只有 HDMI 或 VGA。
通常,我将两台显示器都插入一个 2x HDMI 转 USB-C 适配器,该适配器插入 USB-C 端口。在该配置中,当视频开始播放时,两个显示器都会变成空白。使用视频播放器关闭浏览器选项卡可以让监视器恢复其视频源。
目前,我在 HDMI 端口中安装了一台显示器,在双 HDMI 转 USB-C 适配器中安装了一台显示器。在此配置中,仅 USB-C 监视器变为空白。
我已经尝试过电源管理设置并将 pci-express 和 USB 选择性挂起设置更改为在插入时禁用。执行此操作后我重新启动了笔记本电脑。
我当前的设置是笔记本电脑显示镜像显示器1和显示器2是扩展的。我已将其更改为仅两个外部显示器,并将笔记本电脑屏幕清空,但这没有效果。
遵循这些步骤几乎让我成功了:
.xspf
文件中,用 包装每个 url <track><location>http://[insert url]<location></track>
,并手动插入一些简单的附加 XML 数据。.xspf
在 VLC 中播放该文件,但没有预览,也没有损坏 URL 的过滤器。问题是,最后一步将花费大量时间,而且我不知道如何快速实现自动化。有没有一种简单的方法可以做到这一点,而无需编写自定义 VLC lua 脚本或其他东西?
更新:我找到了这个网站,它允许提取歌曲标题和网址。不过,我仍在研究如何将它们转换为播放列表格式。