我有一个本地未压缩的.avi文件,我想对其进行编码。 我尝试从bash中这样做:
"gst-launch-0.10 filesrc location=path/to/file.avi ~ video/x-raw-yuv, width=640, height=480, framerate=30/1, format=I420 ! nv_omx_h264enc quality-level=2 ! mp4mux ! filesink location= path/test.mp4"
或用'qtmux'切换'mp4mux'。
它不起作用,调试输出是“错误的管道:无法将filesrc0链接到omxh264enc0”
我想要一些帮助和一些关于语法的解释以及这个东西是如何工作的哈哈! 先感谢您! :)
答案 0 :(得分:0)
您的管道似乎不对。试试这个:
gst-launch-0.10 filesrc location=path/to/file.avi caps="video/x-raw-yuv, width=640, height=480, framerate=30/1, format=I420" ! omxh264enc target-bitrate=15000000 control-rate=variable ! video/x-h264,stream-format=byte-stream,profile=high ! h264parse ! mp4mux ! filesink location=path/test.mp4
您可能需要调整比特率,控制率等以获得所需的结果,但这为您提供了一个开始的地方。