我需要将时间代码刻录到视频中,并且想知道这是否是ffmpeg能够做到的事情?
我已经研究了这个主题一段时间了,但仍然没有弄清楚.我使用midas3库(Midi-actionscript3)将midi导入flash.我在时间轴上得到每个音符项目.我得到除法值(192),所有"GET-TEMPO"元素都等于81.
我尝试了很多组合来获得midi的实际时间但仍然没有好处(例如时间线*192/60).
我知道它与实际时间不同步的原因是当我将笔记可视化为flash中的简单矩形时 - 我检查它们是否与mp3文件播放完全一致(我已经使用简单的转换将midi文件转换为此mp3程序)
我已经阅读了很多关于如何计算所有内容的信息,但仍然没有弄清楚我需要使用的数字才能使它正确(时间轴*MysteriusConstant = ReaTIME,MysteriusConstant的值是什么?它是否真的不变?如果不是如何?我可以计算出它的变化吗?)
谢谢Alon
我有一个关于计算时间码delta的问题.
我从包含格式化时间码的电影文件中读取元数据HH:MM:SS:FF
(FF
=帧,00->23
例如,所以它像00
到framerate-1
)
所以我15:41:08:02
从另一个参考文件得到一些数据,我得到15:41:07:00
现在我必须计算时间偏移(如timedelta但只是框架).
我该怎么做呢?
我想读取时间码轨道的时间值。Apple 提供了一份出色的文档(请参阅技术说明 2310),但它是用 Objective C 编写的。
我已将核心逻辑转换为 Swift 3。它与 ObjC 版本完全相同,这意味着CMSampleBuffer
读取时间码轨道中的 a 并将其转换为CMBlockBuffer
. 当我创建数据指针CMBlockBufferGetDataPointer
(在timecodeFrame()
func 中)时它失败了
,这意味着原始数据总是给我 0 帧。所以它归结为一个问题,我如何正确处理原始数据?
import Foundation
import AVFoundation
import CoreMedia
let movie = URL(fileURLWithPath: "videoWithTimecodeTrack.mov")
let asset = AVAsset(url: movie)
asset.loadValuesAsynchronously(forKeys: ["tracks"]) {
var error: NSError?
guard asset.statusOfValue(forKey: "tracks", error: &error) == AVKeyValueStatus.loaded
else { if let error = error { return print(error) } }
readStartTimecode(asset: asset)
}
func readStartTimecode(ofAsset asset: AVAsset) {
let timecodeTracks = …
Run Code Online (Sandbox Code Playgroud) 有谁知道,是否可以在 mpv.conf 中设置包括毫秒在内的默认显示时间格式?
现在我需要点击时间切换到毫秒,因为手动https://mpv.io/manual/master/中的选项 ,,timems''不起作用。
感谢您的帮助彼得
我正在使用以下脚本将时间码转换为帧,该脚本有效,但仅使用 00:00:00:00 的开始时间码进行转换。我希望能够设置开始时间码,以便计算是相对的。如果我将帧速率设置为 23.976 或 29.97,它也会中断。
framerate = 24
def timecode_to_frames(timecode):
return sum(f * int(t) for f,t in zip((3600*framerate, 60*framerate, framerate, 1), timecode.split(':')))
def frames_to_timecode(frames):
return '{0:02d}:{1:02d}:{2:02d}:{3:02d}'.format(frames / (3600*framerate),
frames / (60*framerate) % 60,
frames / framerate % 60,
frames % framerate)
print timecode_to_frames('00:00:00:10')
print frames_to_timecode(10)
Run Code Online (Sandbox Code Playgroud) 我想知道是否有人可以帮我这个.我需要验证文本框中的文本输入.我需要确保它采用TimeSpan可接受的格式.期望的格式应该是hh:mm:ss:fff(即小时,分钟,秒和毫秒.例如15:30:45:040)
我在c ++中搜索最佳源代码/算法,将帧数转换为时间码hh:mm:ss:ff,给定fps,例如.25fps的...
这段代码很好 - http://www.andrewduncan.ws/Timecodes/Timecodes.html(页面底部)但价格昂贵 - 它包含4个mod和6个div操作
我需要在每个帧上显示时间码,因此计算此算法可能需要一些时间.
我当然可以存储评估的时间码以避免计算.
但了解更好的算法会非常有帮助...
在此先感谢你的.
timecodes ×8
c# ×2
algorithm ×1
avasset ×1
avfoundation ×1
c++ ×1
ffmpeg ×1
flash ×1
midi ×1
milliseconds ×1
mpv ×1
python ×1
python-2.7 ×1
swift3 ×1
timeline ×1
validation ×1
video ×1