<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hi,<br></div><div>I'm encoding a YUV video to H.264 using nvh264enc. When I use the first pipeline blow, the encoding works but I cannot play the MP4 file in VLC 3.0.8 (Ubuntu 18.04) but only using the Videos application of Ubuntu. However, when I add a h264parse element between nvh264enc and filesink, as in the second pipeline, I can play the video without a problem in VLC. Any ideas why this is happening? I don't really understand why I need the parser element h264parse after the encoder<br></div><div><br></div><div>> gst-launch-1.0 -v filesrc location=BQTerrace_1920x1080_60.yuv ! rawvideoparse format=i420 width=1920 height=1080 ! nvh264enc ! filesink location=BQTerrace_1920x1080_60.mp4<br></div><div><br></div><div>> gst-launch-1.0 -v filesrc location=BQTerrace_1920x1080_60.yuv ! rawvideoparse format=i420 width=1920 height=1080 ! nvh264enc ! <b>h264parse</b> ! filesink location=BQTerrace_1920x1080_60.mp4<br></div><div><br></div><div>Actually I was expecting to put a mp4mux element between nvh264enc and filesrc but if I do that, I get the error: "WARNING: erroneous pipeline: could not link nvh264enc0 to mp4mux0".  If I use x264enc, the pipeline works though.<br></div><div><br></div><div>Thanks,<br></div><div>Serhan<br></div><div><br></div><div id="sig67116920"><div class="signature">-- <br></div><div class="signature">  Serhan Gül<br></div><div class="signature">  serhan@fastmail.com<br></div><div class="signature"><br></div></div><div><br></div></body></html>