如何将原始H.264流从视频调用转换为mp4文件

问题描述 投票:1回答:1

我使用wireshark捕获了SIP点对点视频通话,我在Ubuntu 12.04上使用了“videosnarf”程序从PCAP中提取原始H.264流。尝试将其转换为MP4时,我遇到了一些ffmpeg问题。以下是ffprobe输出:

[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
codec_type=video
codec_time_base=1/2400000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=704
height=396
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=51
r_frame_rate=25/1
avg_frame_rate=25/1
time_base=1/1200000
start_time=N/A
duration=N/A
[/STREAM]

这是我用来生成MP4的命令:

ffmpeg -f h264 -i H264-media-3.264 -vcodec copy output.mp4

当我将文件传输到Windows PC时,我无法在VLC中打开该文件。在Windows Media Player中打开时(不确定版本,但它在Windows 8上)它会很快播放(几乎就像它在快进播放一样。我也尝试过:

ffmpeg -f h264 -i H264-media-3.264 -vcodec copy -r 25 output.mp4

我可以在Windows上使用“MPC-HC”播放原始的H.264流,但我需要它采用MP4格式。

ffmpeg ubuntu-12.04 mp4
1个回答
0
投票

我不认为你调用ffmpeg的方式有什么问题。我最近做过类似的事情,这个ffmpeg命令运行正常。 (输出确实可以与VLC一起使用)。我想H.264比特流本身可能会遗漏一些东西。您是否在H.264比特流中看到NAL接入单元分隔符?

-Mukesh

© www.soinside.com 2019 - 2024. All rights reserved.