问题标签 [timecodes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
188 浏览

python - 如何在 Python 中按工作日、月份等对 pandas 时间码系列进行排序/分组?

我有一个从 Python 3.7 中的数据框中提取的熊猫系列。它包含一系列时间码,例如:

左边的数字是原始条目的索引。我希望能够将此系列分类为各种替代时间格式,例如按工作日分组(所有“星期六”分组,所有“星期三”分组等)或按月分组(“十一月”,“五月”) . 使用此时间码信息(在 02 小时、06 小时等的所有条目)在 24 小时制时钟上按小时排序甚至会很棒。

目标输出将是(只是对这个样本进行排序):

按月

到工作日

按时间

我已经尝试使用 pd.to_datetime() 函数,但我不确定要为该函数提供什么格式以便它可以理解该系列,这里的澄清可能会有所帮助。

0 投票
1 回答
468 浏览

python - 如何通过 Python 从 DPX 文件中读取时间码

作为较大脚本的一部分,我需要能够从 DPX 文件中读取时间码。我有 ffmpeg 和 ffprobe,但在使用这些程序时我是初学者。

对于 MOV 文件,我能够将其拼凑在一起:

...但是它们必须在 MOV 文件和 DPX 之间的元数据中存在一些细微差别。任何帮助,将不胜感激。

如果我尝试......

ffprobe -v quiet -show_streams -show_format "/Render/MyFile/MyFile.0001016.dpx"

...然后我得到很多有用的信息,包括分辨率和 FPS,但不是时间码(至少对于 DPX 文件)

0 投票
2 回答
196 浏览

python - RegEx:如何匹配超过某个时间的时间码?

我正在编写一个脚本来搜索 YouTube 视频的元数据并从中获取时间码(如果有)。

这很好用,所以我继续寻找时间码。

它超越并在 59:00 之后抓取时间,但由于错过了最后的“:”,因此不正确,所以我抓住了剩下的一组:

我想连接它们,但仍然存在第一个正则表达式中时间不正确的问题。如何停止第一个正则表达式的范围超过一个小时,即 59:59?

我看着正则表达式,我的脑袋有点爆炸,任何澄清都会很棒!

编辑:

我试过这个:

和这个:

但我输入错误。正则表达式的位置是什么?

同样对于上下文,这是我试图剥离的样本的一部分:

0 投票
0 回答
52 浏览

python - 使用python和ffmpeg从dicts列表中的两个值循环

我在弄清楚如何在我的第一个真正有用的 python 程序中执行最后一个 for 循环时遇到问题。我正在尝试根据一堆逻辑用 ffmpeg 分割视频以找出编辑点。

我有一个字典'cut_list'列表,我已经像这样排序了

然后我试图将这些值提供给 ffmpeg,像这样遍历字典列表:

我的预期输出是遍历列表,并在这些特定时间码处分割视频块并编号为 1.mxf,并为每个 for 循环计数,以便与对这些时间跨度的插入修复重新组合。我想在我弄清楚 for 循环之后,我还需要将时间码值输入为 HH:mm:ss:mss 而不是 HH:mm:ss:ff 但这不是我无法弄清楚的部分。现在我只是无法理解为每个时间码获取 cutstart 和 cutend 以输入 ffmpeg 脚本的逻辑。

当我试图变得更聪明时,当前的错误是:Syntax Error: cannot assign to operator

我绝对没有经验,并且从许多其他有用的帖子中一起破解了这个,但是在排序和列表、字典列表、元组等以及何时何地使用每个方面都在苦苦挣扎。

0 投票
2 回答
39 浏览

applescript - 在applescript中设置时间码

我使用 applescript 远程 Aegisub 以按时间移动视频字幕时间线。请看图片。 这是“移位”窗口。

这是我使用的代码:

注意这一行:

它确实将文本字段 1 的屏幕值更改为“0:00:00.20”。但实际上它会按您使用的最后一个值移动时间。
如果您用键盘手动输入“0:00:00.20”,它将按时间“0:00:00.20”移动。只有这条线在这里不起作用。看起来它与时间码的格式有关。请注意,应用程序使用的时间码是“0:00:00.20”,而不是“0:00:00:20”。希望可以有人帮帮我。

0 投票
1 回答
369 浏览

c# - 如何以帧而不是秒为单位显示当前媒体播放器位置 - UWP MediaPlayerElement

我在 UWP 应用程序中使用 MediaPlayerElement。我希望将显示的值从 TimeElapsedElement 和 TimeRemainingElement 转换为帧而不是秒。

所以目前我收到的值是:hh:mm:ss:ff(ff 秒的分数)

我想要的值是:FFFFF(到目前为止经过的总帧数)或标准时间码值,例如 hh:mm:ss:FF(FF 是当前秒内经过的帧)

似乎我无法访问和修改 TimeElapsed 和 TimeRemaining 元素,但想知道这些值是否适合某种转换,以获得媒体播放的帧速率并将值转换为帧。

或者,我想知道是否可以使用 MediaPlayer.PlaybackSession.Position 创建我自己的以帧而不是秒为单位的变量,并改为显示该值。我想已经发生了一些转换,它占用了加载媒体的帧率。

想知道你会推荐什么方法,如果你能指出任何资源的方向,以便在 c# 中进行时间到帧的转换?感谢您的任何帮助,您可以提供!

0 投票
0 回答
1438 浏览

ffmpeg - 如何通过时间码将海报帧添加到 MP4 视频?

mvhd原始 Quicktime MOV 格式的atom 或 box 支持poster time时间码变量用作海报帧,可在预览场景中用作缩略图或封面图片。据我所知,基于 ISOBMFF 的 MP4 格式 (.m4v) 继承了此功能,但我找不到使用FFmpegMP4box或类似的跨平台 CLI 软件设置它的方法。编辑:实际上,ISOBMFF 和 MP4 都不会从 MOV 导入此功能。有没有其他方法可以实现这一点,例如使用类似 HEIF 的派生图像thmb(参见修正案 2)角色?

<code>mvhd</code> 盒子布局

最初的 Apple Quicktime (Pro) 编辑器确实有一个菜单选项可以做到这一点。(Apple CompressorPhotos也可以做到)。

快捷菜单

需要明确的是,我不想附加一个单独的图像文件,它可能是从电影静止图像中截取的屏幕截图,作为多媒体容器的单独轨道。我知道该怎么做

我也知道有些人习惯将指定的海报帧从其原始位置复制到第一帧,但许多自动生成的预览使用较晚的时间索引,例如从 10 秒、30 秒、10% 或 50% 进入视频溪流。

0 投票
0 回答
213 浏览

file - 通过连接多个(基于时间码的)音频文件将多个时间码添加到单个音频文件(.mkv?)

我首先将两个 .WAV 文件转换为 .MKV 文件,并为每个文件插入时间码。然后我将这两个 .MKV 文件连接起来作为输入(每个 .MKV 都包含一个时间码)。但是,最终输出.MKV 中并未保留时间码。我试过了:

包含mylist.txt

但是这种连接产生的最终文件output.mkv在案例 1 中丢失了时间码。在案例 2 中,最后只保留了一个时间码(来自输入 2.mkv)。根据mediaInfo命令行。我期待从 1.mkv 和 2.mkv 发出 2 次代码。但这是正确的方法吗?(它甚至可以吗?)

总而言之,我的目标是在单个音频文件(.WAV 或 .MKV 或其他)中插入多个时间码以及 / 。这是从技术上描述我的目的的截图在此处输入图像描述

0 投票
0 回答
219 浏览

ffmpeg - ffmpeg - DF vs NDF(丢帧)vs(非丢帧),如何简单地将输入时间码传递给输出

请帮助解决这个问题。广播公司刚刚拒绝了我提交的视频,因为他们的验证工具抛出了这种错误:

被配置为“非丢帧”。预计会出现“丢帧”。

我只处理视频,我希望音频只是从输入复制到输出。使用ffprobe运行和比较输入与输出显示时间码不同:

视频转换后ffprobe的输出:

我的编码字符串如下所示:

请帮忙!

0 投票
1 回答
172 浏览

javascript - NodeJS - 将 MTC(Midi Timecode)“quater message”转换为完整的时间码字符串

所以这是我的问题。我正在使用 NodeJS 编写一个脚本,该脚本将采用 MTC 或 MIDI 时间码信号,并最终从所述时间码中的某些点触发不同的事情。

我目前遇到的问题是我正在使用的当前时间码时钟程序将 MIDI 时间码消息作为所谓的“四分之一帧”消息发送。简而言之,它以十六进制形式发送八个连续的消息,这些消息共同构成了 hh:mm:ss:ff(小时、分钟、秒、帧)格式。如果第一条消息是00,表示帧号的个位为0(还是十六进制),如果第二条消息是15,从1开始,表示帧的十位是5。这太狡猾了解释,所以这是我能找到的唯一有效文档来解释它。

我设法找到了另一个相同的 StackOverflow 问题,除了提供的代码是用 C# 编写的,而且我不知道如何以我有限的知识将其转换为 JavaScript。这是那个问题。

提前致谢