qtmux fails with crypto module

Hallo32 Hallo32 at gmx.net
Mon Jul 18 09:19:31 UTC 2016




>
> *Von:* Thiago Sousa Santos <thiagossantos at gmail.com>
> *Gesendet:* 16. Juli 2016 14:50:31 MESZ
> *An:* Discussion of the development of and with GStreamer 
> <gstreamer-devel at lists.freedesktop.org>
> *Betreff:* Re: qtmux fails with crypto module
>
>
>
> On Sat, Jul 16, 2016 at 8:25 AM, Hallo32 <Hallo32 at gmx.net 
> <mailto:Hallo32 at gmx.net>> wrote:
>
>
>
>     Am 16.07.2016 um 05:28 schrieb Thiago Sousa Santos:
>
>         On Fri, Jul 15, 2016 at 5:30 AM, Hallo32 <Hallo32 at gmx.net
>         <mailto:Hallo32 at gmx.net>> wrote:
>
>             Hello list,
>
>             if I add the encryption and decryption to the working
>             gstreamer pipeline
>             bellow.
>
>                  gst-launch-1.0 filesrc
>             location=big_buck_bunny_1080p_h264.mov
>                  typefind=true ! qtdemux name=demux demux.video_0   !
>             queue   !
>                  video/x-h264  ! h264parse ! mux. demux.audio_0   !
>             queue  !
>                  audio/mpeg  ! aacparse  ! queue  ! mux. mpegtsmux
>             name=mux  !
>                  tsdemux ! video/x-h264 ! queue ! vpudec
>             frame-drop=false !
>                  imxv4l2sink name=videosink force-aspect-ratio=true
>                  max-lateness=1000000 sync=true
>
>
>                  gst-launch-1.0 filesrc
>             location=big_buck_bunny_1080p_h264.mov
>                  typefind=true ! crypto mode=enc ! crypto mode=dec !
>             qtdemux
>                  name=demux demux.video_0 ! queue   ! video/x-h264  !
>             h264parse  !
>                  mux.  demux.audio_0   ! queue  ! audio/mpeg !
>             aacparse  !  queue  !
>                  mux. mpegtsmux name=mux  ! tsdemux ! video/x-h264 !
>             queue ! vpudec
>                  frame-drop=false ! imxv4l2sink name=videosink
>                  force-aspect-ratio=true max-lateness=1000000 sync=true
>
>
>             The command fails with
>
>                  0:00:00.089051186  1047  0x1838960 LOG             qtmux
>
>             /bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/gstqtmux.c:3704:gst_qt_mux_register:
>                  Registering muxers
>                  0:00:00.091218369  1047  0x1838960 LOG             qtmux
>
>             /bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/gstqtmux.c:3742:gst_qt_mux_register:
>                  Finished registering muxers
>                  0:00:00.091331379  1047  0x1838960 LOG             qtmux
>
>             /bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/gstqtmux.c:3748:gst_qt_mux_register:
>                  Registering tags
>                  0:00:00.091419719  1047  0x1838960 LOG             qtmux
>
>             /bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/gstqtmux.c:3754:gst_qt_mux_register:
>                  Finished registering tags
>                  ====== IMXV4L2SINK: 4.0.3 build on Mar 31 2016
>             12:58:06. ======
>                  Setting pipeline to PAUSED ...
>                  display(/dev/fb0) resolution is (1920x1080).
>                  [INFO]    Product Info: i.MX6Q/D/S
>                  ====== VPUDEC: 4.0.3 build on Mar 31 2016 12:58:10.
>             ======
>                       wrapper: 1.0.58 (VPUWRAPPER_ARM_LINUX Build on
>             Mar 31 2016
>                  12:57:32)
>                       vpulib: 5.4.28
>                       firmware: 3.1.1.46063
>                  Pipeline is PREROLLING ...
>                  ERROR: from element
>             /GstPipeline:pipeline0/GstQTDemux:demux: This
>                  file is incomplete and cannot be played.
>                  Additional debug info:
>
>             /bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-goo
>
>
>             Do you have an idea why it fails and how it can be fixed?
>             Did I miss any important information?
>
>         Can you provide a more complete log? The crypto element pair
>         is likely
>         modifying the stream somehow. Looking closer at the qtdemux
>         logs might give
>         us a hint on what exactly was modified.
>
>     Which log settings do you want? Give me the settings and you will
>     get exactly the log you want.
>
>
> GST_DEBUG=qtdemux:9 should be enough
This is the log I got with GST_DEBUG=qtdemux:9:

====== IMXV4L2SINK: 4.0.3 build on Mar 31 2016 12:58:06. ======
Setting pipeline to PAUSED ...
display(/dev/fb0) resolution is (1920x1080).
[INFO]    Product Info: i.MX6Q/D/S
====== VPUDEC: 4.0.3 build on Mar 31 2016 12:58:10. ======
     wrapper: 1.0.58 (VPUWRAPPER_ARM_LINUX Build on Mar 31 2016 12:57:32)
     vpulib: 5.4.28
     firmware: 3.1.1.46063
0:00:00.150969237   869  0x15fd380 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:5177:qtdemux_sink_activate:<demux:sink> 
activating pull

0:00:00.162594231   869  0x15f14c0 LOG                  qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:4355:gst_qtdemux_loop:<demux> 
loop at position 0, state 0

Pipeline is PREROLLING ...
0:00:00.173688846   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:2314:extract_initial_length_and_fourcc: 
length 0x00000020

0:00:00.173835858   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:2316:extract_initial_length_and_fourcc: 
atom type ftyp

0:00:00.174188888   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:2222:qtdemux_parse_ftyp:<demux> 
major brand: qt

0:00:00.174439576   869  0x15f14c0 LOG                  qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:4355:gst_qtdemux_loop:<demux> 
loop at position 32, state 0

0:00:00.174783939   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:2314:extract_initial_length_and_fourcc: 
length 0x0006059e

0:00:00.174910950   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:2316:extract_initial_length_and_fourcc: 
atom type moov

0:00:00.234943749   869  0x15f14c0 WARN                 qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:3138:gst_qtdemux_loop_state_header:<demux> 
error: This file is incomplete and cannot be played.

0:00:00.235117430   869  0x15f14c0 WARN                 qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:3138:gst_qtdemux_loop_state_header:<demux> 
error: We got less than expected (received 394656, wanted 394654, offset 32)
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:demux: This file 
is incomplete and cannot be played.
Additional debug info:
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c(3138): 
gst_qtdemux_loop_state_header (): /GstPipeline:pipeline0/GstQTDemux:demux:
We got less than expected (received 394656, wanted 394654, offset 32)

0:00:00.235903831   869  0x15f14c0 LOG                  qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:4394:gst_qtdemux_loop:<demux> 
pausing task, reason error
ERROR: pipeline doesn't want to preroll.

0:00:00.236225192   869  0x15f14c0 WARN                 qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:4434:gst_qtdemux_loop:<demux> 
error: streaming stopped, reason error
Setting pipeline to NULL ...

0:00:00.236693898   869  0x15f14c0 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:881:gst_qtdemux_push_event:<demux> 
pushing eos event on all source pads

0:00:00.236874247   869  0x15f14c0 WARN                 qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:576:gst_qtdemux_post_no_playable_stream_error:<demux> 
error: This file contains no playable streams.

0:00:00.237027927   869  0x15f14c0 WARN                 qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:576:gst_qtdemux_post_no_playable_stream_error:<demux> 
error: no known streams found

0:00:00.241620986   869  0x15fd380 DEBUG                qtdemux 
/bamboo/agent-home/xml-data/build-dir/MSSNIC-GR-JOB1/yocto/build.imx6qsabreauto-avb/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer1.0-plugins-good/1.4.1-r0/gst-plugins-good-1.4.1/gst/isomp4/qtdemux.c:1800:gst_qtdemux_reset:<demux> 
Resetting demux
Freeing pipeline ...

>
>         You can try just to do "filesrc ! crypto mode=enc ! crypto
>         mode=dec !
>         filesink" and check if the resulting file got modified
>         somehow. It should
>         be the same, right?
>
>
>     It should be same file again but they are not exactly the same.
>     The encrypted ones has 5 bytes added at the end of the file. Each
>     byte has the value 0x0A. Maybe some padding for the encryption to
>     get the necessary block size for the encryption.
>     The other bytes are identical with the source file.
>
>
> Does this file play with qtdemux?
If I encrypt and decrypt a file, this file can be played without problems.

filesrc location=source ! crypto mode=enc ! crypto mode=dec !
filesink location= encDec

filesrc location=encDec typefind=true ! qtdemux name=demux demux.video_0 
! ...

>
>
>             GStreamer Version:
>             gst-launch-1.0 --version
>             gst-launch-1.0 version 1.4.1
>             GStreamer 1.4.1
>             Unknown package origin
>
>         Unlikely to fix the issue as it is likely in gst-crypto, but
>         latest release
>         is 1.8, might be worth trying to upgrade.
>
>     I have tried 1.8 before I send the mail to the list. I doesn't fix
>     the problem.
>
>             Source gst-crypto: https://github.com/RidgeRun/gst-crypto
>             Branch:
>             release-1.0
>
>             Best regards
>
>
>             _______________________________________________
>             gstreamer-devel mailing list
>             gstreamer-devel at lists.freedesktop.org
>             <mailto:gstreamer-devel at lists.freedesktop.org>
>             https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>         _______________________________________________
>         gstreamer-devel mailing list
>         gstreamer-devel at lists.freedesktop.org
>         <mailto:gstreamer-devel at lists.freedesktop.org>
>         https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>     Best regards
>
>     _______________________________________________
>     gstreamer-devel mailing list
>     gstreamer-devel at lists.freedesktop.org
>     <mailto:gstreamer-devel at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
>
>
> -- 
> Thiago Sousa Santos
> ------------------------------------------------------------------------
>
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list