将流文件 (mux) 转换为 mp4 gstreamer

将流文件 (mux) 转换为 mp4 gstreamer

我使用了一个程序来捕捉我的屏幕(Linux 版称为 Kazam)。我的电脑崩溃了,我丢失了屏幕截图,而且无法重新创建。

我找到了两个似乎包含我的视频的文件,一个 .mux 和一个 .movi​​e 文件。我尝试使用 gstreamer 或 ffmpeg 来转换文件,但不起作用。从 Kazam 源中我看到 gstreamer 用于捕获视频。

当我在文件名上运行 tcprobe -i 时,我得到以下输出:

[tcprobe] Digital Video (NTSC)
[tcprobe] summary for kazam_5bcdqb.movie.mux, (*) = not default, 0 = not detected
import frame size: -g 720x480 [720x576] (*)
     aspect ratio: 4:3 (*)
       frame rate: -f 29.970 [25.000] frc=4 (*)

有人知道如何(使用 Linux)将 mux 文件转换为可播放的 mp4 文件吗?

谢谢!

答案1

我遇到了同样的事情,但我能够使用一个小巧且非常容易使用的程序恢复视频:mp4修复工具

步骤 1:找到 mux 文件

首先(对于落后一步的人),您需要找到丢失的临时视频文件,.mux扩展名为。在您的 Linux 终端中,转到根文件夹并输入:

$ find . -type f -name "*.mux"

我的文件位于我的“视频”文件夹中:

kazam_mv84r5fr.movie.mux
kazam_mv84r5fr.movie

第 2 步:录制新的示例视频

现在,您需要使用 Kazam 生成一段至少 20 秒长的新视频,如果可能的话,与您要恢复的视频类似:

确保在完全相同的条件下录制,包括屏幕抖动(相同比特率),如果是的话 - 这样我们就能找到我们想要的确切内容。视频长度为 20 秒,但如果您输入更多 - 也可以。

您将获得一个新的视频文件,例如:goodvideo.mp4

步骤 3:下载 mp4fixer

mp4fixer Github 页面并下载 zip 文件(屏幕右上角有一个绿色下拉按钮)。

将文件保存在磁盘的某个位置并解压缩。

mux将文件和示例文件复制mp4到同一文件夹中。

步骤 3:运行程序

在终端中,转到您解压程序并复制视频文件的文件夹,然后运行:

$ perl fixer.pl goodvideo.mp4 kazam_mv84r5fr.movi​​e.mux 已恢复

当程序完成后,您将在文件夹中看到一些新文件:

recovered-headers.aac
recovered-headers.h264
recovered-nals-stat.txt
recovered-nals.txt
recovered-out-audio.raw  <-- AUDIO
recovered-out-video.h264 <-- VIDEO
recovered-stat.mp4

步骤 4:转换为 mp4

最后一步是将恢复的视频从.h264 转换为.mp4,并将音频包含在其中。

我使用 ffmpeg 实用程序完成了此操作(安装它第一的):

$ ffmpeg -i "recovered-out-video.h264" -i "recovered-out-audio.raw" -c:v copy -c:a copy -f mp4 "recovered-video.mp4"

recovered-video.mp4文件夹中将创建一个可用的视频文件。对我来说,这个方法有效,希望对你也同样有效。

相关内容