背景:
我当前的视频文件放在基于 Linux 的系统中,该系统将内容 (RTP) 流式传输给其他用户。更改后我正在拍摄并将内容发送到服务器并确保编码正确我偶然发现问题。
我已经尝试使用 来执行此操作ffmpeg
,但是我注入此文件的系统无法识别它并将其流式传输到另一台设备。
我正在 Windows 系统上进行所有的转码等
C:\Users\mazdak\Documents\Projects\ffmpeg\bin>ffmpeg -y -i input.mp4 -pix_fmt yuv420p -c:v libx264 -profile:v main -level:v 4.1 -color_range 0 -colorspace bt709 -x264opts colorprim=bt709:transfer=bt709:bframes=1 -an output.mkv
错误: 我得到的是
StreamMedia exception ry: Unexpected NAL unit type: 9
(...)
StreamMedia exception ry: First media frame must be sync point
也许我没有为 RTSP 做准备?是不是这个问题。因为我看到的是能够流式传输的文件是使用Gstreamer编码的
所以我想..也许ffmpeg
不这样做?好吧,让我们gst-launch
试一试。我需要有关如何解决此问题的指示。
我有的:
- GStreamer的OSSBuild
ffmpeg utils
input.mp4
- H264 主要配置文件 L3.1 - 像素格式 yuvj420p- 容器中的音频
我需要什么(可能):
output.mkv
- H264 Main profile L4.1 - 像素格式 yuv420p - RTP 准备好(rtph264pay 模块)已移除音频
我拍摄的两部电影都有h264_analyze
输出。来自成功流式传输的电影,以及我尝试使用的电影ffmpeg