我使用wireshark捕获了一个SIP点对点视频通话,我使用了该节目' videosnarf'在Ubuntu 12.04上从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
我能够使用" MPC-HC"播放原始的H.264流。在Windows上但我需要MP4格式。
答案 0 :(得分:0)
我不认为你调用ffmpeg的方式有什么问题。我最近做过类似的事情,这个ffmpeg命令运行正常。 (输出确实可以与VLC一起使用)。我想H.264比特流本身可能会遗漏一些东西。您是否在H.264比特流中看到NAL接入单元分隔符?
-Mukesh