transcode udp-mpegts-h264 to udp-mpegts-mpeg2

arturo arturo.necchi at gmail.com
Fri Aug 14 13:41:44 PDT 2015


I'm trying to convert from a udp-mpegts-h264 to udp-mpegts-mpeg2, with the
command below.

gst-launch-1.0 -v udp://239.140.0.1:1234 ! tsdemux ! queue ! h264parse !
omxh264dec ! videoconvert ! avenc_mpeg2video ! mpegvideoparse ! mpegtsmux !
udpsink host=239.140.0.2 port=1235 auto-multicast=1

But I see a lot of pixelization on the output, and the CPU is not that bad,
I'm running it on a raspberry pi 2 model B.

<http://gstreamer-devel.966125.n4.nabble.com/file/n4673170/video.png> 

<http://gstreamer-devel.966125.n4.nabble.com/file/n4673170/cpu.png> 

Also I did a test dumping the output before the mux into a ts file like
this:
gst-launch-1.0 -v udp://239.140.0.1:1234 ! tsdemux ! queue ! h264parse !
omxh264dec ! videoconvert ! avenc_mpeg2video ! filesink location=test.m2v

But I still can see the pixelization on the file

My question, Is there any way to improve it? Is my configuration valid?


here is the output of the command:

gst-launch-1.0 -v udp://239.140.0.1:1234 ! tsdemux ! queue ! h264parse !
omxh264dec ! videoconvert ! avenc_mpeg2video qmin=10 qmax=15 bitrate=4000000
me-method=epzs ! mpegvideoparse ! mpegtsmux ! udpsink host=239.140.0.2
port=1235 auto-multicast=1
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = "video/x-h264\,\
stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps =
"video/x-h264\,\ stream-format\=\(string\)byte-stream\,\
alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = "video/x-h264\,\
stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)nal"
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps =
"video/x-h264\,\ stream-format\=\(string\)byte-stream\,\
alignment\=\(string\)au\,\ width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ parsed\=\(boolean\)true\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ level\=\(string\)3.1\,\
profile\=\(string\)main"
/GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:sink:
caps = "video/x-h264\,\ stream-format\=\(string\)byte-stream\,\
alignment\=\(string\)au\,\ width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ parsed\=\(boolean\)true\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ level\=\(string\)3.1\,\
profile\=\(string\)main"
/GstPipeline:pipeline0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0.GstPad:src:
caps = "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)720\,\
height\=\(int\)404\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601\,\
framerate\=\(fraction\)30000/1001"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)720\,\
height\=\(int\)404\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601\,\
framerate\=\(fraction\)30000/1001"
/GstPipeline:pipeline0/avenc_mpeg2video:avenc_mpeg2video0.GstPad:sink: caps
= "video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)720\,\
height\=\(int\)404\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601\,\
framerate\=\(fraction\)30000/1001"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps =
"video/x-raw\,\ format\=\(string\)I420\,\ width\=\(int\)720\,\
height\=\(int\)404\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ colorimetry\=\(string\)bt601\,\
framerate\=\(fraction\)30000/1001"
/GstPipeline:pipeline0/avenc_mpeg2video:avenc_mpeg2video0.GstPad:src: caps =
"video/mpeg\,\ mpegversion\=\(int\)2\,\ systemstream\=\(boolean\)false\,\
width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstMpegvParse:mpegvparse0.GstPad:sink: caps =
"video/mpeg\,\ mpegversion\=\(int\)2\,\ systemstream\=\(boolean\)false\,\
width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ pixel-aspect-ratio\=\(fraction\)1/1"
/GstPipeline:pipeline0/GstMpegvParse:mpegvparse0.GstPad:src: caps =
"video/mpeg\,\ mpegversion\=\(int\)2\,\ systemstream\=\(boolean\)false\,\
width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
parsed\=\(boolean\)true\,\
codec_data\=\(buffer\)000001b32d019414ffffe228000001b5148a00010000000001b5210202020b420ca0\,\
profile\=\(string\)main\,\ level\=\(string\)main\,\
interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:sink_65: caps =
"video/mpeg\,\ mpegversion\=\(int\)2\,\ systemstream\=\(boolean\)false\,\
width\=\(int\)720\,\ height\=\(int\)404\,\
framerate\=\(fraction\)30000/1001\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
parsed\=\(boolean\)true\,\
codec_data\=\(buffer\)000001b32d019414ffffe228000001b5148a00010000000001b5210202020b420ca0\,\
profile\=\(string\)main\,\ level\=\(string\)main\,\
interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:src: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188"
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188"
/GstPipeline:pipeline0/MpegTsMux:mpegtsmux0.GstPad:src: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188\,\
streamheader\=\(buffer\)\<\
47400030a600ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941\,\
474020309500ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b01e0001c10000e041f00c050448444d5688040ffffcfc02e041f000d6b440e9\
\>"
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps =
"video/mpegts\,\ systemstream\=\(boolean\)true\,\ packetsize\=\(int\)188\,\
streamheader\=\(buffer\)\<\
47400030a600ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000b00d0001c100000001e020a2c32941\,\
474020309500ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002b01e0001c10000e041f00c050448444d5688040ffffcfc02e041f000d6b440e9\
\>"



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/transcode-udp-mpegts-h264-to-udp-mpegts-mpeg2-tp4673170.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list