我想将基本流 (.264) 转换为容器格式 (.mp4)。有人能帮我吗?如何使用 ffmpeg 完成此任务?还有哪些其他方法可以完成相同的任务?
答案1
这很容易ffmpeg
:
ffmpeg -framerate 24 -i input.264 -c copy output.mp4
这简直流复制(重新混编)视频,这样就不会发生不必要的重新编码;因此,质量得以保留并且整个过程很快。
帧速率默认为 25。您可以使用
-framerate
输入选项更改此设置。典型值为30000/1001
、25
(默认)、24000/1001
、24
或帧速率别名例如ntsc
、ntsc-film
或pal
。如果您不知道帧速率,您可以使用对帧速率的最佳猜测进行转换,然后将输出文件的运行时间与输入文件的运行时间进行比较,然后计算实际帧速率。例如,假设 24 fps 且实际运行时间为 1:00:00(60 分钟),如果结果文件的运行时间为 1:02:30(62.5 分钟),则实际帧速率为 25 fps(24 * 62.5 / 60)
答案2
尝试以下命令:
sudo apt-get install x264
x264 raw_stream.264 -o playable_video.mp4
在 VLC 中运行 MP4 文件
答案3
我编写了一个简单的 bash 脚本来转换目录中的所有文件。 确保目录仅包含源文件因为该操作将在给定目录中的所有文件上运行。
touch ./convert
chmod +x ./convert
编辑转换
#!/bin/bash
for f in *; do
if [ -f "$f" ] && [ "$f" != "convert" ]; then
ffmpeg -framerate 25 -i "$f" -c copy "$f.mp4"
fi
done
放入仅包含源文件的目录,双击并选择运行
此脚本假设您的系统上已安装 ffmpeg。不确定需要哪些库,这是我在运行之前安装的:sudo apt install ffmpeg x264 x265 h264enc mencoder mplayer
仅运行一次