TeamViewer允许以专有格式记录文件扩展名为.tvs
的会话。它可以通过本地计算机上安装的任何编解码器(使用TeamViewer)转换为AVI,但不能转换为MPI或其他容器格式。
对AVI的编码非常慢(显然不是多线程,使用x264 vfw; XviD会花费更长时间),生成的文件在VLC中无法正常播放,并且在Windows上的Avidemux中根本无法编辑。
因此,我想知道是否可以在TVS文件中提取音频和视频流,以便使用ffmpeg进行进一步处理(否则,我需要编码两次,这意味着每60分钟录像4小时)。我希望它与其他格式类似,只需使用自定义编解码器 - 我希望它不是内置在TeamViewer中,但也可用于其他应用程序。
答案 0 :(得分:1)
TVS是专有格式。似乎没有很多关于它的在线信息。可以在http://www.jerrysguide.com/tips/demystify-tvs-file-format.html处进行少量分析。
我用十六进制编辑器看了一个。它包含一个基于文本的标题,一个Base64文本页脚和许多二进制数据。 例如:
rm(x); x[5] <-2
({TVS
Version 5
TVVersion 13.0.6447
Date 2018-03-03 15.24
TVServer
ClientID 314159265
ServerID MY_HOME_PC (123 456 789)
LocalParticipantID 1234567890123456789
GUID {01234567-89AB-CDEF-0123-456789012345}
StreamTypes 2
ScreenFeatures 127
MetadataPosition 0000000000169e98
BEGIN
[Lots and lots of binary data]
END
[320 bytes of Base64]
标记了Base64开始的END之后的位置。)
二进制数据似乎包含几个DEFLATE压缩的块。它们似乎包含有意义的数据,包括屏幕分辨率列表,鼠标光标和一些32位RGB图像数据,但是结构并不容易辨别。
可能希望对格式进行解码,但我看不出对此有何努力。
这可能只是TeamViewer会话的记录。如果使用的是类似RFB protocol的格式,则可能类似于VMware Video格式。
编辑:如果有帮助,我已经用C语言编写了一个快速程序,用于从文件中提取/转储KEY块的内容:(gist)>
答案 1 :(得分:0)
看来,您可以安装 VFW(Windows 视频)视频编解码器,TeamViewer 将接受并使用它们。有一个项目:https://sourceforge.net/projects/x264vfw/ 允许编码为 x264,因此您将获得一个带有 MP4 视频的 AVI 容器。