Recherche avancée

Médias (91)

Autres articles (57)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

Sur d’autres sites (3969)

  • Issue trying to stream RTSP to RTMP (live) through NGINX

    28 août 2020, par taansari

    I want live RTMP streaming through nginx. I setup this server on a public ip (linux - CentOS), using this tutorial : https://notehub.org/rcfdu.

    



    My target is : RTSP source -> transcode to RTMP -> recieve on nginx (live ip),

    



    Then, I want to receive this stream through server ; something like :

    



    nginx -> ffplay.

    



    On transmission side, I have ffmpeg application, and on receiver side, I have ffplay application.

    



    I have setup everything I could think of, and I can see it is properly setup (apparently). But, when I try to stream using similar command :

    



    ffmpeg -i rtsp://aaa.bb.ccc.ddd/vod/mp4:filename.mov -f mpegts rtmp://<live ip="ip" address="address">:1935/live/&#xA;</live>

    &#xA;&#xA;

    I get lots of messages (where everything looks alright) :

    &#xA;&#xA;

    ffmpeg -i rtsp://aaa.bb.ccc.ddd/vod/mp4:filename.mov -f mpegts rtmp://<live ip="ip" address="address">:1935/live/&#xA;ffmpeg version N-80386-g5f5a97d Copyright (c) 2000-2016 the FFmpeg developers&#xA;  built with gcc 5.4.0 (GCC)&#xA;  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv&#xA;enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl&#xA;e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en&#xA;able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil&#xA;bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-&#xA;amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-&#xA;librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li&#xA;bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo&#xA;-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb&#xA;p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l&#xA;ibzimg --enable-lzma --enable-decklink --enable-zlib&#xA;  libavutil      55. 24.100 / 55. 24.100&#xA;  libavcodec     57. 46.100 / 57. 46.100&#xA;  libavformat    57. 38.100 / 57. 38.100&#xA;  libavdevice    57.  0.101 / 57.  0.101&#xA;  libavfilter     6. 46.101 /  6. 46.101&#xA;  libswscale      4.  1.100 /  4.  1.100&#xA;  libswresample   2.  1.100 /  2.  1.100&#xA;  libpostproc    54.  0.100 / 54.  0.100&#xA;[rtsp @ 03087ca0] UDP timeout, retrying with TCP&#xA;Input #0, rtsp, from &#x27;rtsp://aaa.bb.ccc.ddd/vod/mp4:filename.mov&#x27;:&#xA;  Metadata:&#xA;    title           : filename.mov&#xA;  Duration: 00:09:56.46, start: 0.000000, bitrate: N/A&#xA;    Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp&#xA;    Stream #0:1: Video: h264 (Constrained Baseline), yuv420p, 240x160, 24 fps, 4&#xA;8 tbr, 90k tbn, 48 tbc&#xA;[mpegts @ 04d033a0] Using AVStream.codec to pass codec parameters to muxers is d&#xA;eprecated, use AVStream.codecpar instead.&#xA;    Last message repeated 1 times&#xA;Output #0, mpegts, to &#x27;rtmp://<live ip="ip" address="address">:1935/live/&#x27;:&#xA;  Metadata:&#xA;    title           : filename.mov&#xA;    encoder         : Lavf57.38.100&#xA;    Stream #0:0: Video: mpeg2video (Main), yuv420p, 240x160, q=2-31, 200 kb/s, 2&#xA;4 fps, 90k tbn, 24 tbc&#xA;    Metadata:&#xA;      encoder         : Lavc57.46.100 mpeg2video&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1&#xA;    Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 384 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc57.46.100 mp2&#xA;Stream mapping:&#xA;  Stream #0:1 -> #0:0 (h264 (native) -> mpeg2video (native))&#xA;  Stream #0:0 -> #0:1 (aac (native) -> mp2 (native))&#xA;Press [q] to stop, [?] for help&#xA;Past duration 0.999992 too large&#xA;    Last message repeated 4 times&#xA;frame=   85 fps=0.0 q=2.9 size=     322kB time=00:00:03.85 bitrate= 684.4kbits/s&#xA;frame=   95 fps= 94 q=3.5 size=     366kB time=00:00:04.28 bitrate= 698.9kbits/s&#xA;frame=  108 fps= 71 q=3.7 size=     421kB time=00:00:04.79 bitrate= 719.9kbits/s&#xA;frame=  122 fps= 61 q=4.1 size=     478kB time=00:00:05.34 bitrate= 733.1kbits/s&#xA;frame=  134 fps= 53 q=4.5 size=     527kB time=00:00:05.87 bitrate= 735.8kbits/s&#xA;frame=  146 fps= 48 q=5.2 size=     579kB time=00:00:06.35 bitrate= 747.2kbits/s&#xA;frame=  159 fps= 45 q=5.5 size=     632kB time=00:00:06.88 bitrate= 751.9kbits/s&#xA;frame=  171 fps= 42 q=5.3 size=     677kB time=00:00:07.38 bitrate= 751.5kbits/s&#xA;frame=  183 fps= 40 q=5.6 size=     725kB time=00:00:07.91 bitrate= 750.8kbits/s&#xA;frame=  193 fps= 38 q=6.3 size=     765kB time=00:00:08.34 bitrate= 750.7kbits/s&#xA;frame=  207 fps= 37 q=6.6 size=     820kB time=00:00:08.89 bitrate= 755.2kbits/s&#xA;frame=  219 fps= 36 q=6.6 size=     865kB time=00:00:09.40 bitrate= 754.2kbits/s&#xA;frame=  231 fps= 35 q=7.2 size=     911kB time=00:00:09.90 bitrate= 753.6kbits/s&#xA;frame=  243 fps= 34 q=7.4 size=     959kB time=00:00:10.40 bitrate= 754.6kbits/s&#xA;frame=  255 fps= 34 q=6.7 size=    1002kB time=00:00:10.91 bitrate= 752.1kbits/s&#xA;frame=  267 fps= 33 q=5.5 size=    1047kB time=00:00:11.41 bitrate= 751.4kbits/s&#xA;frame=  279 fps= 33 q=4.6 size=    1088kB time=00:00:11.89 bitrate= 749.1kbits/s&#xA;frame=  291 fps= 32 q=6.1 size=    1140kB time=00:00:12.42 bitrate= 751.4kbits/s&#xA;frame=  301 fps= 31 q=6.7 size=    1181kB time=00:00:12.85 bitrate= 752.5kbits/s&#xA;frame=  314 fps= 31 q=6.6 size=    1231kB time=00:00:13.40 bitrate= 752.1kbits/s&#xA;frame=  325 fps= 31 q=7.0 size=    1275kB time=00:00:13.86 bitrate= 753.0kbits/s&#xA;frame=  338 fps= 30 q=6.7 size=    1324kB time=00:00:14.36 bitrate= 754.8kbits/s&#xA;frame=  349 fps= 30 q=6.5 size=    1368kB time=00:00:14.87 bitrate= 753.5kbits/s&#xA;frame=  362 fps= 30 q=6.8 size=    1415kB time=00:00:15.37 bitrate= 753.9kbits/s&#xA;frame=  373 fps= 30 q=6.2 size=    1457kB time=00:00:15.88 bitrate= 751.7kbits/s&#xA;frame=  387 fps= 30 q=3.8 size=    1506kB time=00:00:16.45 bitrate= 749.7kbits/s&#xA;frame=  400 fps= 29 q=4.1 size=    1549kB time=00:00:16.96 bitrate= 748.2kbits/s&#xA;frame=  415 fps= 29 q=5.4 size=    1597kB time=00:00:17.56 bitrate= 744.9kbits/s&#xA;frame=  427 fps= 29 q=5.2 size=    1639kB time=00:00:18.04 bitrate= 744.1kbits/s&#xA;frame=  439 fps= 29 q=4.4 size=    1679kB time=00:00:18.56 bitrate= 740.6kbits/s&#xA;frame=  451 fps= 29 q=3.6 size=    1717kB time=00:00:19.07 bitrate= 737.4kbits/s&#xA;frame=  464 fps= 28 q=2.6 size=    1761kB time=00:00:19.67 bitrate= 733.2kbits/s&#xA;frame=  475 fps= 28 q=7.0 size=    1799kB time=00:00:20.08 bitrate= 734.0kbits/s&#xA;frame=  488 fps= 28 q=8.3 size=    1847kB time=00:00:20.70 bitrate= 730.8kbits/s&#xA;frame=  502 fps= 28 q=5.9 size=    1895kB time=00:00:21.25 bitrate= 730.2kbits/s&#xA;frame=  515 fps= 28 q=3.3 size=    1935kB time=00:00:21.76 bitrate= 728.5kbits/s&#xA;frame=  528 fps= 28 q=2.5 size=    1976kB time=00:00:22.31 bitrate= 725.6kbits/s&#xA;frame=  540 fps= 28 q=3.4 size=    2017kB time=00:00:22.81 bitrate= 724.2kbits/s&#xA;frame=  553 fps= 28 q=6.2 size=    2072kB time=00:00:23.36 bitrate= 726.2kbits/s&#xA;frame=  568 fps= 28 q=6.7 size=    2132kB time=00:00:23.94 bitrate= 729.3kbits/s&#xA;frame=  580 fps= 28 q=6.8 size=    2174kB time=00:00:24.42 bitrate= 729.3kbits/s&#xA;frame=  592 fps= 27 q=6.8 size=    2219kB time=00:00:24.92 bitrate= 729.3kbits/s&#xA;frame=  604 fps= 27 q=7.4 size=    2263kB time=00:00:25.43 bitrate= 728.8kbits/s&#xA;frame=  615 fps= 27 q=6.1 size=    2305kB time=00:00:25.93 bitrate= 727.9kbits/s&#xA;frame=  626 fps= 27 q=7.4 size=    2339kB time=00:00:26.36 bitrate= 726.5kbits/s&#xA;frame=  638 fps= 27 q=6.8 size=    2383kB time=00:00:26.89 bitrate= 725.8kbits/s&#xA;frame=  651 fps= 27 q=5.8 size=    2436kB time=00:00:27.47 bitrate= 726.5kbits/s&#xA;frame=  662 fps= 27 q=7.0 size=    2471kB time=00:00:27.90 bitrate= 725.4kbits/s&#xA;frame=  675 fps= 27 q=5.9 size=    2523kB time=00:00:28.40 bitrate= 727.6kbits/s&#xA;frame=  679 fps= 26 q=6.8 size=    2534kB time=00:00:28.57 bitrate= 726.5kbits/s&#xA;frame=  703 fps= 27 q=8.0 size=    2622kB time=00:00:29.58 bitrate= 726.1kbits/s&#xA;frame=  714 fps= 27 q=7.6 size=    2662kB time=00:00:30.08 bitrate= 724.7kbits/s&#xA;frame=  729 fps= 27 q=6.5 size=    2712kB time=00:00:30.68 bitrate= 724.0kbits/s&#xA;frame=  741 fps= 27 q=7.0 size=    2753kB time=00:00:31.14 bitrate= 724.1kbits/s&#xA;frame=  755 fps= 27 q=7.5 size=    2801kB time=00:00:31.76 bitrate= 722.2kbits/s&#xA;frame=  767 fps= 26 q=7.2 size=    2842kB time=00:00:32.27 bitrate= 721.5kbits/s&#xA;frame=  779 fps= 26 q=6.8 size=    2881kB time=00:00:32.77 bitrate= 720.0kbits/s&#xA;frame=  791 fps= 26 q=8.2 size=    2922kB time=00:00:33.30 bitrate= 718.8kbits/s&#xA;frame=  803 fps= 26 q=7.0 size=    2961kB time=00:00:33.76 bitrate= 718.4kbits/s&#xA;frame=  816 fps= 26 q=6.6 size=    3003kB time=00:00:34.33 bitrate= 716.4kbits/s&#xA;frame=  828 fps= 26 q=6.4 size=    3044kB time=00:00:34.84 bitrate= 715.7kbits/s&#xA;frame=  840 fps= 26 q=7.5 size=    3084kB time=00:00:35.34 bitrate= 714.7kbits/s&#xA;frame=  855 fps= 26 q=5.0 size=    3137kB time=00:00:35.94 bitrate= 714.8kbits/s&#xA;frame=  866 fps= 26 q=6.2 size=    3169kB time=00:00:36.40 bitrate= 713.3kbits/s&#xA;frame=  880 fps= 26 q=5.9 size=    3219kB time=00:00:36.95 bitrate= 713.6kbits/s&#xA;frame=  892 fps= 26 q=6.8 size=    3259kB time=00:00:37.43 bitrate= 713.2kbits/s&#xA;frame=  904 fps= 26 q=5.3 size=    3300kB time=00:00:37.96 bitrate= 712.2kbits/s&#xA;frame=  916 fps= 26 q=5.5 size=    3338kB time=00:00:38.46 bitrate= 711.0kbits/s&#xA;frame=  928 fps= 26 q=5.5 size=    3377kB time=00:00:38.94 bitrate= 710.4kbits/s&#xA;frame=  941 fps= 26 q=6.4 size=    3422kB time=00:00:39.52 bitrate= 709.4kbits/s&#xA;frame=  953 fps= 26 q=5.4 size=    3460kB time=00:00:40.00 bitrate= 708.6kbits/s&#xA;frame=  967 fps= 26 q=5.2 size=    3506kB time=00:00:40.60 bitrate= 707.3kbits/s&#xA;frame=  979 fps= 26 q=4.8 size=    3546kB time=00:00:41.12 bitrate= 706.2kbits/s&#xA;frame=  985 fps= 26 q=5.2 size=    3563kB time=00:00:41.36 bitrate= 705.6kbits/s&#xA;frame= 1008 fps= 26 q=4.8 size=    3639kB time=00:00:42.30 bitrate= 704.6kbits/s&#xA;frame= 1022 fps= 26 q=4.3 size=    3684kB time=00:00:42.88 bitrate= 703.7kbits/s&#xA;frame= 1034 fps= 26 q=4.5 size=    3723kB time=00:00:43.38 bitrate= 702.9kbits/s&#xA;frame= 1046 fps= 26 q=3.8 size=    3763kB time=00:00:43.88 bitrate= 702.5kbits/s&#xA;frame= 1056 fps= 26 q=5.3 size=    3800kB time=00:00:44.32 bitrate= 702.3kbits/s&#xA;frame= 1069 fps= 26 q=5.5 size=    3842kB time=00:00:44.84 bitrate= 701.8kbits/s&#xA;frame= 1081 fps= 26 q=6.3 size=    3883kB time=00:00:45.35 bitrate= 701.3kbits/s&#xA;frame= 1093 fps= 26 q=6.3 size=    3925kB time=00:00:45.85 bitrate= 701.1kbits/s&#xA;frame= 1105 fps= 26 q=5.3 size=    3964kB time=00:00:46.36 bitrate= 700.5kbits/s&#xA;frame= 1117 fps= 26 q=6.7 size=    4006kB time=00:00:46.86 bitrate= 700.3kbits/s&#xA;frame= 1129 fps= 26 q=4.5 size=    4046kB time=00:00:47.32 bitrate= 700.4kbits/s&#xA;frame= 1141 fps= 26 q=7.1 size=    4089kB time=00:00:47.87 bitrate= 699.8kbits/s&#xA;Larger timestamp than 24-bit: 0x310042f0&#xA;WriteN, RTMP send error 10054 (133 bytes)&#xA;WriteN, RTMP send error 10054 (35 bytes)&#xA;WriteN, RTMP send error 10038 (42 bytes)&#xA;av_interleaved_write_frame(): Operation not permitted&#xA;Error writing trailer of rtmp://<live ip="ip" address="address">:1935/live/: Operation not permitte&#xA;dframe= 1143 fps= 25 q=8.1 Lsize=    4109kB time=00:00:47.92 bitrate= 702.5kbits&#xA;/s dup=0 drop=5 speed=1.07x&#xA;video:1343kB audio:2248kB subtitle:0kB other streams:0kB global headers:0kB muxi&#xA;ng overhead: 14.429363%&#xA;Conversion failed!&#xA;</live></live></live>

    &#xA;&#xA;

    but in the end, I get this error :

    &#xA;&#xA;

    WriteN, RTMP send error 10054 (133 bytes)&#xA;WriteN, RTMP send error 10054 (35 bytes)&#xA;WriteN, RTMP send error 10038 (42 bytes)&#xA;av_interleaved_write_frame(): Operation not permitted&#xA;Error writing trailer of rtmp://<live ip="ip" address="address">:1935/live/: Operation not permitte&#xA;dframe= 1143 fps= 25 q=8.1 Lsize=    4109kB time=00:00:47.92 bitrate= 702.5kbits&#xA;/s dup=0 drop=5 speed=1.07x&#xA;video:1343kB audio:2248kB subtitle:0kB other streams:0kB global headers:0kB muxi&#xA;ng overhead: 14.429363%&#xA;Conversion failed!&#xA;</live>

    &#xA;&#xA;

    On the receiver side (where ffplay is running), I always get this error :

    &#xA;&#xA;

    RTMP_ReadPacket, failed to read RTMP packet headersq=    0B f=0/0&#xA;    rtmp://<live ip="ip" address="address">:1935/live/: Invalid data found when processing input&#xA;</live>

    &#xA;&#xA;

    Detailed output :

    &#xA;&#xA;

    ffplay rtmp://<live ip="ip" address="address">:1935/live/&#xA;ffplay version N-80386-g5f5a97d Copyright (c) 2003-2016 the FFmpeg developers&#xA;  built with gcc 5.4.0 (GCC)&#xA;  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv&#xA;enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl&#xA;e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en&#xA;able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil&#xA;bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-&#xA;amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-&#xA;librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li&#xA;bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo&#xA;-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb&#xA;p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l&#xA;ibzimg --enable-lzma --enable-decklink --enable-zlib&#xA;  libavutil      55. 24.100 / 55. 24.100&#xA;  libavcodec     57. 46.100 / 57. 46.100&#xA;  libavformat    57. 38.100 / 57. 38.100&#xA;  libavdevice    57.  0.101 / 57.  0.101&#xA;  libavfilter     6. 46.101 /  6. 46.101&#xA;  libswscale      4.  1.100 /  4.  1.100&#xA;  libswresample   2.  1.100 /  2.  1.100&#xA;  libpostproc    54.  0.100 / 54.  0.100&#xA;RTMP_ReadPacket, failed to read RTMP packet headersq=    0B f=0/0&#xA;rtmp://<live ip="ip" address="address">:1935/live/: Invalid data found when processing input&#xA;</live></live>

    &#xA;&#xA;

    and if I enable debug mode, this is the receiving side log :

    &#xA;&#xA;

    ffplay -loglevel debug rtmp://<live ip="ip" address="address">:1935/live/&#xA;ffplay version N-80386-g5f5a97d Copyright (c) 2003-2016 the FFmpeg developers&#xA;  built with gcc 5.4.0 (GCC)&#xA;  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-nv&#xA;enc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl&#xA;e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --en&#xA;able-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libil&#xA;bc --enable-libmodplug --enable-libmfx --enable-libmp3lame --enable-libopencore-&#xA;amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-&#xA;librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-li&#xA;bspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo&#xA;-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libweb&#xA;p --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-l&#xA;ibzimg --enable-lzma --enable-decklink --enable-zlib&#xA;  libavutil      55. 24.100 / 55. 24.100&#xA;  libavcodec     57. 46.100 / 57. 46.100&#xA;  libavformat    57. 38.100 / 57. 38.100&#xA;  libavdevice    57.  0.101 / 57.  0.101&#xA;  libavfilter     6. 46.101 /  6. 46.101&#xA;  libswscale      4.  1.100 /  4.  1.100&#xA;  libswresample   2.  1.100 /  2.  1.100&#xA;  libpostproc    54.  0.100 / 54.  0.100&#xA;[rtmp @ 0310d800] No default whitelist set    0KB sq=    0B f=0/0&#xA;Parsing... :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0&#xA;Parsed protocol: 0&#xA;Parsed host    : <live ip="ip" address="address">&#xA;Parsed app     : live&#xA;RTMP_Connect1, ... connected, handshaking=    0KB sq=    0B f=0/0&#xA;HandShake: Type Answer   : 03q=    0KB vq=    0KB sq=    0B f=0/0&#xA;HandShake: Server Uptime : 324510454&#xA;HandShake: FMS Version   : 0.0.0.0&#xA;HandShake: Handshaking finished....0KB vq=    0KB sq=    0B f=0/0&#xA;RTMP_Connect1, handshaked&#xA;RTMP_SendPacket: fd=648, size=174&#xA;  0000:  03 00 00 00 00 00 ae 14  00 00 00 00               ............&#xA;  0000:  02 00 07 63 6f 6e 6e 65  63 74 00 3f f0 00 00 00   ...connect.?....&#xA;  0010:  00 00 00 03 00 03 61 70  70 02 00 04 6c 69 76 65   ......app...live&#xA;  0020:  00 05 74 63 55 72 6c 02  00 1e 72 74 6d 70 3a 2f   ..tcUrl...rtmp:/&#xA;  0030:  2f 36 34 2e 34 39 2e 32  33 34 2e 32 35 30 3a 31   /<live ip="ip" address="address">:1&#xA;  0040:  39 33 35 2f 6c 69 76 65  00 04 66 70 61 64 01 00   935/live..fpad..&#xA;  0050:  00 0c 63 61 70 61 62 69  6c 69 74 69 65 73 00 40   ..capabilities.@&#xA;  0060:  2e 00 00 00 00 00 00 00  0b 61 75 64 69 6f 43 6f   .........audioCo&#xA;  0070:  64 65 63 73 00 40 a8 ee  00 00 00 00 00 00 0b 76   decs.@.........v&#xA;  0000:  c3                                                 .&#xA;  0000:  69 64 65 6f 43 6f 64 65  63 73 00 40 6f 80 00 00   ideoCodecs.@o...&#xA;  0010:  00 00 00 00 0d 76 69 64  65 6f 46 75 6e 63 74 69   .....videoFuncti&#xA;  0020:  6f 6e 00 3f f0 00 00 00  00 00 00 00 00 09         on.?..........&#xA;Invoking connect&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  02 00 00 00 00 00 04 05  00 00 00 00               ............&#xA;  0000:  00 4c 4b 40                                        .LK@&#xA;HandleServerBW: server BW = 5000000&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  02 00 00 00 00 00 05 06  00 00 00 00               ............&#xA;  0000:  00 4c 4b 40 02                                     .LK@.&#xA;HandleClientBW: client BW = 5000000 2&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  02 00 00 00 00 00 04 01  00 00 00 00               ............&#xA;  0000:  00 00 10 00                                        ....&#xA;HandleChangeChunkSize, received: chunk size change to 4096&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  03 00 00 00 00 00 be 14  00 00 00 00               ............&#xA;  0000:  02 00 07 5f 72 65 73 75  6c 74 00 3f f0 00 00 00   ..._result.?....&#xA;  0010:  00 00 00 03 00 06 66 6d  73 56 65 72 02 00 0d 46   ......fmsVer...F&#xA;  0020:  4d 53 2f 33 2c 30 2c 31  2c 31 32 33 00 0c 63 61   MS/3,0,1,123..ca&#xA;  0030:  70 61 62 69 6c 69 74 69  65 73 00 40 3f 00 00 00   pabilities.@?...&#xA;  0040:  00 00 00 00 00 09 03 00  05 6c 65 76 65 6c 02 00   .........level..&#xA;  0050:  06 73 74 61 74 75 73 00  04 63 6f 64 65 02 00 1d   .status..code...&#xA;  0060:  4e 65 74 43 6f 6e 6e 65  63 74 69 6f 6e 2e 43 6f   NetConnection.Co&#xA;  0070:  6e 6e 65 63 74 2e 53 75  63 63 65 73 73 00 0b 64   nnect.Success..d&#xA;  0080:  65 73 63 72 69 70 74 69  6f 6e 02 00 15 43 6f 6e   escription...Con&#xA;  0090:  6e 65 63 74 69 6f 6e 20  73 75 63 63 65 65 64 65   nection succeede&#xA;  00a0:  64 2e 00 0e 6f 62 6a 65  63 74 45 6e 63 6f 64 69   d...objectEncodi&#xA;  00b0:  6e 67 00 00 00 00 00 00  00 00 00 00 00 09         ng............&#xA;RTMP_ClientPacket, received: invoke 190 bytes&#xA;(object begin)&#xA;Property: &#xA;Property: &#xA;Property: &#xA;(object begin)&#xA;Property: 3,0,1,123>&#xA;Property: &#xA;(object end)&#xA;Property: &#xA;(object begin)&#xA;Property: &#xA;Property: &#xA;Property: &#xA;Property: &#xA;(object end)&#xA;(object end)&#xA;HandleInvoke, server invoking &lt;_result>&#xA;HandleInvoke, received result for method call <connect>  0B f=0/0&#xA;RTMP_SendPacket: fd=648, size=4&#xA;  0000:  02 00 00 00 00 00 04 05  00 00 00 00               ............&#xA;  0000:  00 4c 4b 40                                        .LK@&#xA;sending ctrl. type: 0x0003&#xA;RTMP_SendPacket: fd=648, size=10&#xA;  0000:  42 00 00 00 00 00 0a 04                            B.......&#xA;  0000:  00 03 00 00 00 00 00 00  01 2c                     .........,&#xA;RTMP_SendPacket: fd=648, size=25&#xA;  0000:  43 00 00 00 00 00 19 14                            C.......&#xA;  0000:  02 00 0c 63 72 65 61 74  65 53 74 72 65 61 6d 00   ...createStream.&#xA;  0010:  40 00 00 00 00 00 00 00  05                        @........&#xA;Invoking createStream&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  03 00 00 00 00 00 1d 14  00 00 00 00               ............&#xA;  0000:  02 00 07 5f 72 65 73 75  6c 74 00 40 00 00 00 00   ..._result.@....&#xA;  0010:  00 00 00 05 00 3f f0 00  00 00 00 00 00            .....?.......&#xA;RTMP_ClientPacket, received: invoke 29 bytes&#xA;(object begin)&#xA;Property: &#xA;Property: &#xA;Property: NULL&#xA;Property: &#xA;(object end)&#xA;HandleInvoke, server invoking &lt;_result>&#xA;HandleInvoke, received result for method call <createstream>&#xA;SendPlay, seekTime=0, stopTime=0, sending play: (null)&#xA;RTMP_SendPacket: fd=648, size=29&#xA;  0000:  08 00 00 00 00 00 1d 14  01 00 00 00               ............&#xA;  0000:  02 00 04 70 6c 61 79 00  40 08 00 00 00 00 00 00   ...play.@.......&#xA;  0010:  05 02 00 00 00 00 00 00  00 00 00 00 00            .............&#xA;Invoking play 0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0&#xA;sending ctrl. type: 0x0003&#xA;RTMP_SendPacket: fd=648, size=10&#xA;  0000:  c2                                                 .&#xA;  0000:  00 03 00 00 00 01 00 00  0b b8                     ..........&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  05 00 00 00 00 00 60 14  01 00 00 00               ......`.....&#xA;  0000:  02 00 08 6f 6e 53 74 61  74 75 73 00 00 00 00 00   ...onStatus.....&#xA;  0010:  00 00 00 00 05 03 00 05  6c 65 76 65 6c 02 00 06   ........level...&#xA;  0020:  73 74 61 74 75 73 00 04  63 6f 64 65 02 00 14 4e   status..code...N&#xA;  0030:  65 74 53 74 72 65 61 6d  2e 50 6c 61 79 2e 53 74   etStream.Play.St&#xA;  0040:  61 72 74 00 0b 64 65 73  63 72 69 70 74 69 6f 6e   art..description&#xA;  0050:  02 00 0a 53 74 61 72 74  20 6c 69 76 65 00 00 09   ...Start live...&#xA;RTMP_ClientPacket, received: invoke 96 bytes&#xA;(object begin)&#xA;Property: &#xA;Property: &#xA;Property: NULL&#xA;Property: &#xA;(object begin)&#xA;Property: &#xA;Property: &#xA;Property: &#xA;(object end)&#xA;(object end)&#xA;HandleInvoke, server invoking <onstatus>&#xA;HandleInvoke, onStatus: NetStream.Play.Start&#xA;RTMP_ReadPacket: fd=648&#xA;  0000:  05 00 00 00 00 00 18 12  01 00 00 00               ............&#xA;  0000:  02 00 11 7c 52 74 6d 70  53 61 6d 70 6c 65 41 63   ...|RtmpSampleAc&#xA;  0010:  63 65 73 73 01 01 01 01                            cess....&#xA;RTMP_ClientPacket, received: notify 24 bytes&#xA;(object begin)&#xA;Property: &#xA;Property:     nan    :  0.000 fd=   0&#xA; aq=    0KB vq=    0KB sq=    0B f=0/0&#xA;Property: &#xA;(object end)&#xA;RTMP_ReadPacket: fd=648&#xA;RTMPSockBuf_Fill, recv returned -1. GetSockError(): 10060 (Unknown error)&#xA;RTMP_ReadPacket, failed to read RTMP packet header&#xA;[AVIOContext @ 04c81be0] Statistics: 0 bytes read, 0 seeks&#xA;RTMP_SendPacket: fd=648, size=34&#xA;  0000:  43 00 00 00 00 00 22 14                            C.....".&#xA;  0000:  02 00 0c 64 65 6c 65 74  65 53 74 72 65 61 6d 00   ...deleteStream.&#xA;  0010:  40 10 00 00 00 00 00 00  05 00 3f f0 00 00 00 00   @.........?.....&#xA;  0020:  00 00                                              ..&#xA;Invoking deleteStreamd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0&#xA;rtmp://<live ip="ip" address="address">:1935/live/: Invalid data found when processing input&#xA;</live></onstatus></createstream></connect></live></live></live>

    &#xA;&#xA;

    By the way, this is my server config file ( /etc/nginx/nginx.conf )

    &#xA;&#xA;

    #user  nobody;&#xA;worker_processes  4;&#xA;&#xA;#error_log  logs/error.log;&#xA;#error_log  logs/error.log  notice;&#xA;#error_log  logs/error.log  info;&#xA;&#xA;#pid        logs/nginx.pid;&#xA;&#xA;&#xA;events {&#xA;    worker_connections  1024;&#xA;}&#xA;&#xA;&#xA;http {&#xA;    include       mime.types;&#xA;    default_type  application/octet-stream;&#xA;&#xA;    #log_format  main  &#x27;$remote_addr - $remote_user [$time_local] "$request" &#x27;&#xA;    #                  &#x27;$status $body_bytes_sent "$http_referer" &#x27;&#xA;    #                  &#x27;"$http_user_agent" "$http_x_forwarded_for"&#x27;;&#xA;&#xA;    #access_log  logs/access.log  main;&#xA;&#xA;    sendfile        on;&#xA;    #tcp_nopush     on;&#xA;&#xA;    #keepalive_timeout  0;&#xA;    keepalive_timeout  65;&#xA;&#xA;    #gzip  on;&#xA;&#xA;    server {&#xA;        listen       80;&#xA;        server_name  localhost;&#xA;&#xA;        #charset koi8-r;&#xA;&#xA;        #access_log  logs/host.access.log  main;&#xA;&#xA;        location / {&#xA;            root   html;&#xA;            index  index.html index.htm;&#xA;        }&#xA;&#xA;        #error_page  404              /404.html;&#xA;&#xA;        # redirect server error pages to the static page /50x.html&#xA;        #&#xA;        error_page   500 502 503 504  /50x.html;&#xA;        location = /50x.html {&#xA;            root   html;&#xA;        }&#xA;&#xA;        # proxy the PHP scripts to Apache listening on 127.0.0.1:80&#xA;        #&#xA;        #location ~ \.php$ {&#xA;        #    proxy_pass   http://127.0.0.1;&#xA;        #}&#xA;&#xA;        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000&#xA;        #&#xA;        #location ~ \.php$ {&#xA;        #    root           html;&#xA;        #    fastcgi_pass   127.0.0.1:9000;&#xA;        #    fastcgi_index  index.php;&#xA;        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;&#xA;        #    include        fastcgi_params;&#xA;        #}&#xA;&#xA;        # deny access to .htaccess files, if Apache&#x27;s document root&#xA;        # concurs with nginx&#x27;s one&#xA;        #&#xA;        #location ~ /\.ht {&#xA;        #    deny  all;&#xA;        #}&#xA;    }&#xA;&#xA;&#xA;    # another virtual host using mix of IP-, name-, and port-based configuration&#xA;    #&#xA;    #server {&#xA;    #    listen       8000;&#xA;    #    listen       somename:8080;&#xA;    #    server_name  somename  alias  another.alias;&#xA;&#xA;    #    location / {&#xA;    #        root   html;&#xA;    #        index  index.html index.htm;&#xA;    #    }&#xA;    #}&#xA;&#xA;&#xA;    # HTTPS server&#xA;    #&#xA;    #server {&#xA;    #    listen       443 ssl;&#xA;    #    server_name  localhost;&#xA;&#xA;    #    ssl_certificate      cert.pem;&#xA;    #    ssl_certificate_key  cert.key;&#xA;&#xA;    #    ssl_session_cache    shared:SSL:1m;&#xA;    #    ssl_session_timeout  5m;&#xA;&#xA;    #    ssl_ciphers  HIGH:!aNULL:!MD5;&#xA;    #    ssl_prefer_server_ciphers  on;&#xA;&#xA;    #    location / {&#xA;    #        root   html;&#xA;    #        index  index.html index.htm;&#xA;    #    }&#xA;    #}&#xA;&#xA;}&#xA;rtmp {&#xA;        server {&#xA;                listen 1935;&#xA;                chunk_size 4096;&#xA;&#xA;                application live {&#xA;                        live on;&#xA;                        record off;&#xA;                }&#xA;        }&#xA;}&#xA;

    &#xA;&#xA;

    I can telnet into both port 80 and 1935, and made sure port 1935 is open as input and output in iptables...

    &#xA;&#xA;

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT&#xA;-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT&#xA;

    &#xA;&#xA;

    but nothing works.

    &#xA;&#xA;

    Can anyone help in this regards ?

    &#xA;

  • Error while opening encoder for output stream #0:0 for Creating Video from image,Gif,music

    29 février 2020, par brijesh

    I am trying to create a video from image,gif and music.

    Here is the code I used :

    {"-y", "-i", imagepath, "-ignore_loop", "0", "-i", gif, "-filter_complex", "[1:v]scale=" + filterdBitmap.getWidth() + ":" + filterdBitmap.getHeight() + "[ovrl];[0:v][ovrl]overlay=0:0", "-ss", "" + startMs / 1000, "-t", "" + endMs / 1000, "-i", songpath, "-c:v", "libx264", "-preset", "ultrafast", "-r", "30", "-pix_fmt", "yuva420p", "-c:a", "aac", "-shortest", outputLocation.getPath()};

    The error I received was this :

    Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    Specifically, here is the complete response :

    2020-02-29 10:16:01.043 14913-14913/com.photocreator E/fail: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
         built with gcc 4.8 (GCC)
         configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
         libavutil      55. 17.103 / 55. 17.103
         libavcodec     57. 24.102 / 57. 24.102
         libavformat    57. 25.100 / 57. 25.100
         libavdevice    57.  0.101 / 57.  0.101
         libavfilter     6. 31.100 /  6. 31.100
         libswscale      4.  0.100 /  4.  0.100
         libswresample   2.  0.101 /  2.  0.101
         libpostproc    54.  0.100 / 54.  0.100
       Input #0, png_pipe, from 'file:///storage/emulated/0/1582951553006.jpg':
         Duration: N/A, bitrate: N/A
           Stream #0:0: Video: png, rgba(pc), 639x812, 25 tbr, 25 tbn, 25 tbc
       Input #1, gif, from 'http://13.232.145.224:3003/getpath/video_maker/new/35.gif':
         Duration: N/A, bitrate: N/A
           Stream #1:0: Video: gif, bgra, 288x480, 15 fps, 15 tbr, 100 tbn, 100 tbc
       [mp3 @ 0xaea97200] Skipping 0 bytes of junk at 253.
       Input #2, mp3, from '/storage/emulated/0/Download/supnaringtone-49332.mp3':
         Metadata:
           encoder         : Lavf58.20.100
         Duration: 00:00:21.76, start: 0.025057, bitrate: 64 kb/s
           Stream #2:0: Audio: mp3, 44100 Hz, stereo, s16p, 64 kb/s
           Metadata:
             encoder         : Lavc58.35
       Incompatible pixel format 'yuva420p' for codec 'libx264', auto-selecting format 'yuv420p'
       [libx264 @ 0xaeacfc00] width not divisible by 2 (639x812)
       Output #0, mp4, to '/storage/emulated/0/allkotlin/video/movie_1582951554388.mp4':
           Stream #0:0: Video: h264, none, q=2-31, 128 kb/s, 30 fps (default)
           Metadata:
             encoder         : Lavc57.24.102 libx264
           Stream #0:1: Audio: aac, 0 channels, 128 kb/s
           Metadata:
             encoder         : Lavc57.24.102 aac
       Stream mapping:
         Stream #0:0 (png) -> overlay:main (graph 0)
         Stream #1:0 (gif) -> scale (graph 0)
         overlay (graph 0) -> Stream #0:0 (libx264)
         Stream #2:0 -> #0:1 (mp3 (native) -> aac (native))
       Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

    If I use -s 560x560 , it works great, except then I can’t keep on using my aspect ratio :

    And here is my code :

    public class PhotoEditing extends AppCompatActivity implements GetGifAdapter.GlideInterface, SdCardSongAdapter.MediaInterface
           , FiltersListFragmentListener, EmojiFragmentListener, AddTextFragmentListener {

       public static final String FILE_PROVIDER_AUTHORITY = "com.burhanrashid52.photoeditor.fileprovider";
       @Nullable
       @VisibleForTesting
       Uri mSaveImageUri;
       PhotoEditorView image_preview;
       ImageView image_gif/*,image_preview*/;
       ImageView save, back;
       LinearLayout linearLayout;
       public String sessionId, sessionId1;
       Uri image_selected_uri;

       public Bitmap originalBitmap, filterdBitmap, finalBitmap;
       LinearLayout btn_music_list, btn_music_cut, btn_add_gif, btn_filters_list, btn_emoji, btn_add_text;
       MediaPlayer mediaPlayer;
       String mediaData;
       LinearLayout relativeLayout;
       RelativeLayout seekbar_layout, fm;
       RelativeLayout.LayoutParams layoutparam;
       RangeSeekBar rangeSeekBar;
       Runnable r;
       Handler mHandler;
       private int duration;
       private TextView tvLeft, tvRight;
       RelativeLayout rl_replace, music_fragment;
       FilterListFragment filterListFragment;
       EmojiFragment emojiFragment;
       PhotoEditor photoEditor;
       int screenWidth, screenHeight;
       Bitmap bitmap;
       int brightnessFinal = 0;
       int saturationFinal = 0;
       int constrantFinal = 0;
       int hue = 0;
       String glideData;
       FFmpeg ffmpeg;
       String s;
       String imageHeight;
       String imageWidth ;


       private static final String TAG = "BRIJESH";

       Context context = this;

       static {
           System.loadLibrary("NativeImageProcessor");
       }

       public Bitmap resizeImageToNewSize(Bitmap bitmap, int i, int i2) {
           try {
               int width = bitmap.getWidth();
               int height = bitmap.getHeight();
               float f = (float) i;
               float f2 = (float) i2;
               if (!(height == i2 &amp;&amp; width == i)) {
                   float f3 = (float) width;
                   float f4 = f / f3;
                   float f5 = (float) height;
                   float f6 = f2 / f5;
                   if (f4 &lt; f6) {
                       f6 = f4;
                   }
                   f = f3 * f6;
                   f2 = f5 * f6;
               }
               Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap, (int) f, (int) f2, true);
               fm.removeView(image_preview);
               RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(bitmap1.getWidth(), bitmap1.getHeight());

               params.addRule(RelativeLayout.CENTER_HORIZONTAL);
               image_preview.setLayoutParams(params);

               fm.addView(image_preview);
               return bitmap1;
           } catch (Exception unused) {
               fm.removeView(image_preview);
               RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(200, 100);

               params.addRule(RelativeLayout.CENTER_IN_PARENT);
               image_preview.setLayoutParams(params);
               fm.addView(image_preview);

               return bitmap;
           }
       }

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_photo_editing);

           initialize(this);
           image_preview = findViewById(R.id.image_preview);
           image_preview.getSource().setScaleType(ImageView.ScaleType.FIT_XY);
           photoEditor = new PhotoEditor.Builder(this, image_preview)
                   .setPinchTextScalable(true)
                   .build();
           image_gif = findViewById(R.id.image_gif);
           linearLayout = findViewById(R.id.linearLayout);
           btn_music_list = findViewById(R.id.btn_music_list);
    //        btn_music_cut = findViewById(R.id.btn_music_cut);
           btn_add_gif = findViewById(R.id.btn_add_gif);
           btn_filters_list = findViewById(R.id.btn_filters_list);
           btn_emoji = findViewById(R.id.btn_emoji);
           btn_add_text = findViewById(R.id.btn_add_text);
           fm = findViewById(R.id.frame);
           rl_replace = findViewById(R.id.replace_fragment);
           music_fragment = findViewById(R.id.music_fragment);
           seekbar_layout = findViewById(R.id.seekbar_layout);
           rangeSeekBar = findViewById(R.id.rangeSeekBar);
           rangeSeekBar.setNotifyWhileDragging(true);
           mHandler = new Handler();
           tvLeft = findViewById(R.id.tvLeft);
           tvRight = findViewById(R.id.tvRight);
           relativeLayout = findViewById(R.id.relativeLayout);
           save = findViewById(R.id.btndone);
           back = findViewById(R.id.btnhome);
           mediaPlayer = new MediaPlayer();
           back.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   if (mediaPlayer.isPlaying()) {
                       mediaPlayer.stop();
                       onBackPressed();
                   } else onBackPressed();
               }
           });

           sessionId1 = getIntent().getStringExtra("gallary");
           sessionId = getPathFromUri(PhotoEditing.this, Uri.parse(sessionId1));
           image_selected_uri = Uri.parse(sessionId);
           loadImage();

           btn_music_list.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
    //                if (seekbar_layout.getVisibility() == View.GONE){
                   if (mediaPlayer != null &amp;&amp; mediaPlayer.isPlaying()) {
                       mediaPlayer.stop();
                   }
                   MusicListFragment musicListFragment = new MusicListFragment();
                   FragmentManager fragmentManager = getSupportFragmentManager();
                   FragmentTransaction transaction = fragmentManager.beginTransaction();
                   transaction.replace(R.id.replace_fragment, musicListFragment);
                   transaction.addToBackStack(null);
                   transaction.commit();
                   seekbar_layout.setVisibility(View.VISIBLE);

    //                }
    //                else if (seekbar_layout.getVisibility() == View.VISIBLE) {
    //                    seekbar_layout.setVisibility(View.GONE);
    //                }
               }
           });

    //        btn_music_cut.setOnClickListener(new View.OnClickListener() {
    //            @Override
    //            public void onClick(View v) {
    //                if (seekbar_layout.getVisibility() == View.GONE) {
    //                    if (mediaPlayer != null &amp;&amp; mediaPlayer.isPlaying()) {
    //                        seekbar_layout.setVisibility(View.VISIBLE);
    //                    }
    //                } else if (seekbar_layout.getVisibility() == View.VISIBLE) {
    //                    seekbar_layout.setVisibility(View.GONE);
    //                }
    //            }
    //        });

           btn_add_gif.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
                   GIfFragment gIfFragment = new GIfFragment();
                   FragmentManager fragmentManager = getSupportFragmentManager();
                   FragmentTransaction transaction = fragmentManager.beginTransaction();
                   transaction.replace(R.id.replace_fragment, gIfFragment);
                   transaction.addToBackStack(null);
                   transaction.commit();
               }
           });



           save.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View v) {
    //                image_preview.getSource().setDrawingCacheEnabled(true);
    //                Bitmap b = image_preview.getSource().getDrawingCache();
    //                MediaStore.Images.Media.insertImage(context.getContentResolver(), b,"", "");
                   saveImageToGallery();

               }
           });
       }

       private void loadImage() {
           bitmap = BitmapFactory.decodeFile(image_selected_uri.toString());
           originalBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true);
           originalBitmap = modifyOrientation(originalBitmap, sessionId);
           finalBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true);
           filterdBitmap = originalBitmap.copy(Bitmap.Config.ARGB_8888, true);

           DisplayMetrics displayMetrics = new DisplayMetrics();
           getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
           int f3672y = displayMetrics.widthPixels;
           int f3673z = displayMetrics.heightPixels;
           float f = getResources().getDisplayMetrics().density;
           int i = f3672y - ((int) (40.0f * f));
           int i2 = f3673z - ((int) (f * 100.0f));
           image_preview.getSource().setImageBitmap(resizeImageToNewSize(bitmap, i, i2));
       }

       private void getDropboxIMGSize(Uri uri){

           BitmapFactory.Options options = new BitmapFactory.Options();
           options.inJustDecodeBounds = true;
           BitmapFactory.decodeFile(new File(uri.getPath()).getAbsolutePath(), options);
           imageHeight= String.valueOf(options.outHeight);
           imageWidth = String.valueOf(options.outWidth);

       }

       @SuppressLint("MissingPermission")
       private void saveImageToGallery() {
           File file = new File(Environment.getExternalStorageDirectory()
                   + File.separator + ""
                   + System.currentTimeMillis() + ".jpg");
           try {
               file.createNewFile();

               SaveSettings saveSettings = new SaveSettings.Builder()
                       .setClearViewsEnabled(true)
                       .setTransparencyEnabled(true)
                       .build();

               photoEditor.saveAsFile(file.getAbsolutePath(), saveSettings, new PhotoEditor.OnSaveListener() {
                   @Override
                   public void onSuccess(@NonNull String imagePath) {
                       Toast.makeText(context, "Image Saved", Toast.LENGTH_SHORT).show();

                       mSaveImageUri = Uri.fromFile(new File(imagePath));
                       getDropboxIMGSize(mSaveImageUri);
                       executeCmd(String.valueOf(mSaveImageUri), mediaData, glideData, rangeSeekBar.getSelectedMinValue().intValue() * 1000, rangeSeekBar.getSelectedMaxValue().intValue() * 1000);

                   }

                   @Override
                   public void onFailure(@NonNull Exception exception) {
                   }
               });
           } catch (IOException e) {
               e.printStackTrace();
           }
       }


       private void executeCmd(String imagepath, String songpath, String gif, int startMs, int endMs) {
           File outputLocation = getConvertedFile(outputPath() + "video", "movie_" + System.currentTimeMillis() + ".mp4");
           Log.e("videofilepath", songpath);
           String[] complexCommand = {"-y", "-i", imagepath,
                   "-ignore_loop", "0",
                   "-i", gif, "-filter_complex", "[1:v]scale=w='bitand(iw,65534)':h='bitand(ih,65534)' [ovrl];[0:v][ovrl]overlay=0:0",
                   "-ss", "" + startMs / 1000, "-t", "" + endMs / 1000, "-i", songpath,
                   "-c:v", "libx264", "-preset", "ultrafast", "-r", "30", "-pix_fmt", "yuva420p", "-c:a", "aac", "-shortest", outputLocation.getPath()};

           try {
               ffmpeg.execute(complexCommand, new ExecuteBinaryResponseHandler() {

                   @Override
                   public void onSuccess(String s) {
                       Log.e("onSuccess", s);
                   }

                   @Override
                   public void onFailure(String s) {
                       Log.e("fail", s);
                   }
               });
           } catch (FFmpegCommandAlreadyRunningException e) {
               Log.e("catch", e.getMessage());
           }
       }
    }

    Any idea what is going on here ? Thanks !

  • Could not find codec parameters for stream 0 (Video : hevc, none) : unspecified size

    5 avril 2020, par bzc0fq

    I try to use ffmpeg to feed ffserver on CENTOS 6.10. When I run ffmpeg on stream I got an error message : Could not find codec parameters for stream 0 (Video : h264, none) : unspecified size.

    &#xA;&#xA;

    The full ffmpeg output is here :

    &#xA;&#xA;

    [root@stone1 ~]# ffmpeg -i rtsp://user44:xxx@192.168.101.108:554/0 -y http://192.168.101.1:8090/feed2.ffm&#xA;ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers&#xA;  built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)&#xA;  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags=&#x27;-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic&#x27; --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libdc1394 --enable-libfaac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect&#xA;  libavutil      54. 20.100 / 54. 20.100&#xA;  libavcodec     56. 26.100 / 56. 26.100&#xA;  libavformat    56. 25.101 / 56. 25.101&#xA;  libavdevice    56.  4.100 / 56.  4.100&#xA;  libavfilter     5. 11.102 /  5. 11.102&#xA;  libavresample   2.  1.  0 /  2.  1.  0&#xA;  libswscale      3.  1.101 /  3.  1.101&#xA;  libswresample   1.  1.100 /  1.  1.100&#xA;  libpostproc    53.  3.100 / 53.  3.100&#xA;[rtsp @ 0x8bc780] Could not find codec parameters for stream 0 (Video: hevc, none): unspecified size&#xA;Consider increasing the value for the &#x27;analyzeduration&#x27; and &#x27;probesize&#x27; options&#xA;Guessed Channel Layout for  Input Stream #0.1 : mono&#xA;Input #0, rtsp, from &#x27;rtsp://user44:xxx@192.168.101.108:554/0&#x27;:&#xA;  Metadata:&#xA;    title           : h264.mp4&#xA;  Duration: 00:00:00.00, start: 0.000000, bitrate: N/A&#xA;    Stream #0:0: Video: hevc, none, 90k tbr, 90k tbn, 90k tbc&#xA;    Stream #0:1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s&#xA;[buffer @ 0x91c2e0] Unable to parse option value "0x0" as image size&#xA;[buffer @ 0x91c2e0] Unable to parse option value "-1" as pixel format&#xA;[buffer @ 0x91c2e0] Unable to parse option value "0x0" as image size&#xA;[buffer @ 0x91c2e0] Error setting option video_size to value 0x0.&#xA;[graph 0 input from stream 0:0 @ 0x8a0da0] Error applying options to the filter.&#xA;Error opening filters!&#xA;

    &#xA;&#xA;

    I tested the stream with vlc on windows and it looks it works fine.&#xA;VLC stream details

    &#xA;&#xA;

    Any hints on the issue ?

    &#xA;&#xA;


    &#xA;&#xA;

    UPDATE

    &#xA;&#xA;

    I have confirmed that the same issue remains on Windows and Linux ffmpeg ver. 4.2.2. Please find attached debug output bellow.

    &#xA;&#xA;

    D:\Temp\ffmpeg-4.2.2-win64-static\bin>ffmpeg -loglevel debug -i rtsp://userxx:xxx@192.168.101.108:554/0:0 -y http://192.168.101.1:8090/feed2.ffm&#xA;ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with gcc 9.2.1 (GCC) 20200122&#xA;  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;Splitting the commandline.&#xA;Reading option &#x27;-loglevel&#x27; ... matched as option &#x27;loglevel&#x27; (set logging level) with argument &#x27;debug&#x27;.&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;rtsp://userxx:xxx@192.168.101.108:554/0:0&#x27;.&#xA;Reading option &#x27;-y&#x27; ... matched as option &#x27;y&#x27; (overwrite output files) with argument &#x27;1&#x27;.&#xA;Reading option &#x27;http://192.168.101.1:8090/feed2.ffm&#x27; ... matched as output url.&#xA;Finished splitting the commandline.&#xA;Parsing a group of options: global .&#xA;Applying option loglevel (set logging level) with argument debug.&#xA;Applying option y (overwrite output files) with argument 1.&#xA;Successfully parsed a group of options.&#xA;Parsing a group of options: input url rtsp://userxx:xxx@192.168.101.108:554/0:0.&#xA;Successfully parsed a group of options.&#xA;Opening an input file: rtsp://userxx:xxx@192.168.101.108:554/0:0.&#xA;[tcp @ 000002426835b540] No default whitelist set&#xA;[tcp @ 000002426835b540] Original list of addresses:&#xA;[tcp @ 000002426835b540] Address 192.168.101.108 port 554&#xA;[tcp @ 000002426835b540] Interleaved list of addresses:&#xA;[tcp @ 000002426835b540] Address 192.168.101.108 port 554&#xA;[tcp @ 000002426835b540] Starting connection attempt to 192.168.101.108 port 554&#xA;[tcp @ 000002426835b540] Successfully connected to 192.168.101.108 port 554&#xA;[rtsp @ 0000024268358c40] SDP:&#xA;v=0&#xA;o=StreamingServer 3331435948 1116907222000 IN IP4 192.168.101.108&#xA;s=h264.mp4&#xA;c=IN IP4 0.0.0.0&#xA;t=0 0&#xA;a=control:*&#xA;m=video 0 RTP/AVP 96&#xA;a=control:trackID=0&#xA;a=rtpmap:96 H265/90000&#xA;a=ptime:40&#xA;a=range:npt=0-0&#xA;a=fmtp:96 packetization-mode=1; sprop-parameter-sets=(null)&#xA;a=videoinfo:960*576*30*4096&#xA;m=audio 0 RTP/AVP 0&#xA;a=control:trackID=1&#xA;a=rtpmap:0 PCMU/8000&#xA;a=ptime:20&#xA;&#xA;&#xA;[rtsp @ 0000024268358c40] video codec set to: hevc&#xA;[rtsp @ 0000024268358c40] audio codec set to: pcm_mulaw&#xA;[rtsp @ 0000024268358c40] audio samplerate set to: 8000&#xA;[rtsp @ 0000024268358c40] audio channels set to: 1&#xA;[rtp @ 000002426835bb00] No default whitelist set&#xA;[udp @ 000002426835f600] No default whitelist set&#xA;[udp @ 000002426835f600] &#x27;circular_buffer_size&#x27; option was set but it is not supported on this build (pthread support is required)&#xA;[udp @ 000002426835f600] end receive buffer size reported is 65536&#xA;[udp @ 000002426836f900] No default whitelist set&#xA;[udp @ 000002426836f900] &#x27;circular_buffer_size&#x27; option was set but it is not supported on this build (pthread support is required)&#xA;[udp @ 000002426836f900] end receive buffer size reported is 65536&#xA;[rtsp @ 0000024268358c40] setting jitter buffer size to 500&#xA;[rtp @ 00000242683804c0] No default whitelist set&#xA;[udp @ 0000024268380780] No default whitelist set&#xA;[udp @ 0000024268380780] &#x27;circular_buffer_size&#x27; option was set but it is not supported on this build (pthread support is required)&#xA;[udp @ 0000024268380780] end receive buffer size reported is 65536&#xA;[udp @ 0000024268390a80] No default whitelist set&#xA;[udp @ 0000024268390a80] &#x27;circular_buffer_size&#x27; option was set but it is not supported on this build (pthread support is required)&#xA;[udp @ 0000024268390a80] end receive buffer size reported is 65536&#xA;[rtsp @ 0000024268358c40] setting jitter buffer size to 500&#xA;[rtsp @ 0000024268358c40] hello state=0&#xA;[rtsp @ 0000024268358c40] Could not find codec parameters for stream 0 (Video: hevc, 1 reference frame, none): unspecified size&#xA;Consider increasing the value for the &#x27;analyzeduration&#x27; and &#x27;probesize&#x27; options&#xA;Guessed Channel Layout for Input Stream #0.1 : mono&#xA;Input #0, rtsp, from &#x27;rtsp://userxx:xxx@192.168.101.108:554/0:0&#x27;:&#xA;  Metadata:&#xA;    title           : h264.mp4&#xA;  Duration: 00:00:00.00, start: 0.000000, bitrate: N/A&#xA;    Stream #0:0, 0, 1/90000: Video: hevc, 1 reference frame, none, 90k tbr, 90k tbn, 90k tbc&#xA;    Stream #0:1, 0, 1/8000: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s&#xA;Successfully opened the file.&#xA;Parsing a group of options: output url http://192.168.101.1:8090/feed2.ffm.&#xA;Successfully parsed a group of options.&#xA;Opening an output file: http://192.168.101.1:8090/feed2.ffm.&#xA;[NULL @ 00000242683c85c0] Unable to find a suitable output format for &#x27;http://192.168.101.1:8090/feed2.ffm&#x27;&#xA;http://192.168.101.1:8090/feed2.ffm: Invalid argument&#xA;

    &#xA;&#xA;

    VLC works fine on the same Windows system.

    &#xA;&#xA;

    Any hints on this please ?

    &#xA;