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

Dan*_*itz 5 video linux ffmpeg gstreamer video-conversion

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

我发现了两个似乎包含我的视频的文件,一个 .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 (*)
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

小智 3

同样的事情也发生在我身上,我能够使用一个微小且非常容易使用的程序来恢复视频:mp4fixer

第 1 步:找到 mux 文件

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

$ find . -type f -name "*.mux"
Run Code Online (Sandbox Code Playgroud)

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

kazam_mv84r5fr.movie.mux
kazam_mv84r5fr.movie
Run Code Online (Sandbox Code Playgroud)

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

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

请务必在相同的条件下准确记录它,包括甚至在屏幕上晃动(相同的比特率),如果是的话 - 这样我们就能准确地找到我们正在寻找的内容。视频长度是20秒,但是如果你喂多了——也没关系。

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

第三步:下载mp4fixer

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

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

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

第三步:运行程序

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

$ 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
Run Code Online (Sandbox Code Playgroud)

第四步:转换为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"
Run Code Online (Sandbox Code Playgroud)

recovered-video.mp4将在文件夹中创建工作视频文件。它对我有用,我希望它也对你有用。