第一次来这里所以要温柔。
我已经在给定的 H.264 字节流上工作了几个星期:
一般注意事项:
- 字节流不是来自文件,它是从外部源实时提供给我的。
- 字节流使用 Android 的媒体编解码器进行编码。
- 当将流写入扩展名为.H264的文件时,VLC能够正常播放。
我想实现什么目标?以下之一:
将 H264 流的帧转换为可保存的图片文件(png/jpeg 等)
将 H264 原始字节转换为可通过浏览器作为源播放的 MP4 流。
我已经尝试使用JavaCV(FFmpegFrameGrabber)但没有成功,我的主要问题是我不知道如何解析字节流或每个“数据包”的含义
因此,我附加了一个文本文件,其中包含我从流中获取的一些数据包
H264 数据包 https://drive.google.com/open?id=16Yztd36IAzXKwDhhijztlcT8WHBpzKYF
将 H264 流的帧转换为可保存的图片文件(png/jpeg 等)
假设您正在使用ffmpeg
命令行工具。
单张图像:
ffmpeg -framerate 25 -i input.h264 -frames:v 1 output.png
时间戳为 01:23:45 的单张图像:
ffmpeg -framerate 24 -i input.h264 -ss 01:23:45 -frames:v 1 output.png
所有图像。将会被命名output_0001.png
, output_0002.png
, output_0003.png
等无需设置-framerate
or -frames:v
在这种情况下。
ffmpeg -i input.h264 output_%04d.png
See FFmpeg 图像混合器 https://ffmpeg.org/ffmpeg-formats.html#image2-2了解更多信息。
将 H264 原始字节转换为可通过浏览器作为源播放的 MP4 流。
ffmpeg -framerate 24000/1001 -i input.h264 -c copy -movflags +faststart output.mp4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)