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