Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (66)

  • 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 (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (5565)

  • Libsourcey : webrtcrecorder.mp4 file is not generated

    5 décembre 2018, par Iranna Pattar

    I am running WebRTC Native Video Recorder demo Application, but webrtcrecorder.mp4 file is not generated. As I have gone through some question and answers but unable to find the answer. I am getting some error

    here is the command of cmake

    cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_SHARED_LIBS=OFF     -DBUILD_MODULES=OFF    -DBUILD_APPLICATIONS=OFF \
      -DBUILD_SAMPLES=ON         -DBUILD_TESTS=OFF         -DWITH_WEBRTC=ON -DWITH_FFMPEG=ON    -DBUILD_MODULE_base=ON \
      -DBUILD_MODULE_crypto=ON   -DBUILD_MODULE_http=ON       -DBUILD_MODULE_json=ON               -DBUILD_MODULE_av=ON    \
      -DBUILD_MODULE_net=ON      -DBUILD_MODULE_socketio=ON   -DBUILD_MODULE_symple=ON             -DBUILD_MODULE_stun=ON   \
      -DBUILD_MODULE_turn=ON     -DBUILD_MODULE_util=ON       -DBUILD_MODULE_uv=ON                 -DBUILD_MODULE_webrtc=ON \
      -DBUILD_SAMPLES_webrtc=ON  -DWEBRTC_INCLUDE_DIR=/home/ubuntu/temp/webrtc-22215-ab42706-linux-x64/include \
      -DWEBRTC_LIBRARIES=/home/ubuntu/temp/webrtc-22215-ab42706-linux-x64/lib/ \
      -DWEBRTC_ROOT_DIR=/home/ubuntu/temp/webrtc-22215-ab42706-linux-x64    \
      -DBUILD_MODULE_openssl=ON   -DOPENSSL_ROOT_DIR=/usr/local/ssl     -DOPENSSL_LIBRARIES=/usr/local/ssl/lib/ \
      -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include/openssl/

    here are the logs of webrtcrecorder :

    Client state changed from Closed to Connecting
    13:31:54 [debug] [application.cpp(104)] Wait for shutdown
    13:31:54 [debug] [signaler.cpp(116)] Client state changed from Connecting to Connected
    13:31:54 [debug] [client.cpp(364)] On handshake: sid=_Wi06W8eF4GdOGn_AAAA, pingInterval=25000, pingTimeout=60000
    13:31:54 [debug] [client.cpp(387)] Peer connected:videorecorder|_Wi06W8eF4GdOGn_AAAA
    13:31:54 [debug] [signaler.cpp(116)] Client state changed from Connected to Online
    13:31:59 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:31:59 [debug] [signaler.cpp(71)] Peer connected: Ivv61MFbOi96l__ZAAAB
    13:31:59 [debug] [client.cpp(387)] Peer connected:demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peer.cpp(130)] Ivv61MFbOi96l__ZAAAB: Receive offer: v=0
    o=- 7392103695987858658 2 IN IP4 127.0.0.1
    s=-
    t=0 0
    a=group:BUNDLE audio video
    a=msid-semantic: WMS je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:ICgM
    a=ice-pwd:hruHw+Fgaswb+slJ3/eE3Yad
    a=ice-options:trickle
    a=fingerprint:sha-256 B3:30:19:FA:91:57:CE:2B:7D:60:C4:16:27:FE:8E:CB:76:57:31:C6:75:72:72:87:36:C4:8E:30:91:01:27:D8
    a=setup:actpass
    a=mid:audio
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=sendrecv
    a=rtcp-mux
    a=rtpmap:111 opus/48000/2
    a=rtcp-fb:111 transport-cc
    a=fmtp:111 minptime=10;useinbandfec=1
    a=rtpmap:103 ISAC/16000
    a=rtpmap:104 ISAC/32000
    a=rtpmap:9 G722/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:106 CN/32000
    a=rtpmap:105 CN/16000
    a=rtpmap:13 CN/8000
    a=rtpmap:110 telephone-event/48000
    a=rtpmap:112 telephone-event/32000
    a=rtpmap:113 telephone-event/16000
    a=rtpmap:126 telephone-event/8000
    a=ssrc:1294348972 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:1294348972 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd 30683b54-4aef-4c98-bf11-e9f497eddafd
    a=ssrc:1294348972 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:1294348972 label:30683b54-4aef-4c98-bf11-e9f497eddafd
    m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:ICgM
    a=ice-pwd:hruHw+Fgaswb+slJ3/eE3Yad
    a=ice-options:trickle
    a=fingerprint:sha-256 B3:30:19:FA:91:57:CE:2B:7D:60:C4:16:27:FE:8E:CB:76:57:31:C6:75:72:72:87:36:C4:8E:30:91:01:27:D8
    a=setup:actpass
    a=mid:video
    a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
    a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:4 urn:3gpp:video-orientation
    a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
    a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
    a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
    a=sendrecv
    a=rtcp-mux
    a=rtcp-rsize
    a=rtpmap:96 VP8/90000
    a=rtcp-fb:96 goog-remb
    a=rtcp-fb:96 transport-cc
    a=rtcp-fb:96 ccm fir
    a=rtcp-fb:96 nack
    a=rtcp-fb:96 nack pli
    a=rtpmap:97 rtx/90000
    a=fmtp:97 apt=96
    a=rtpmap:98 VP9/90000
    a=rtcp-fb:98 goog-remb
    a=rtcp-fb:98 transport-cc
    a=rtcp-fb:98 ccm fir
    a=rtcp-fb:98 nack
    a=rtcp-fb:98 nack pli
    a=fmtp:98 x-google-profile-id=0
    a=rtpmap:99 rtx/90000
    a=fmtp:99 apt=98
    a=rtpmap:100 H264/90000
    a=rtcp-fb:100 goog-remb
    a=rtcp-fb:100 transport-cc
    a=rtcp-fb:100 ccm fir
    a=rtcp-fb:100 nack
    a=rtcp-fb:100 nack pli
    a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
    a=rtpmap:101 rtx/90000
    a=fmtp:101 apt=100
    a=rtpmap:102 H264/90000
    a=rtcp-fb:102 goog-remb
    a=rtcp-fb:102 transport-cc
    a=rtcp-fb:102 ccm fir
    a=rtcp-fb:102 nack
    a=rtcp-fb:102 nack pli
    a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
    a=rtpmap:122 rtx/90000
    a=fmtp:122 apt=102
    a=rtpmap:127 H264/90000
    a=rtcp-fb:127 goog-remb
    a=rtcp-fb:127 transport-cc
    a=rtcp-fb:127 ccm fir
    a=rtcp-fb:127 nack
    a=rtcp-fb:127 nack pli
    a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
    a=rtpmap:121 rtx/90000
    a=fmtp:121 apt=127
    a=rtpmap:125 H264/90000
    a=rtcp-fb:125 goog-remb
    a=rtcp-fb:125 transport-cc
    a=rtcp-fb:125 ccm fir
    a=rtcp-fb:125 nack
    a=rtcp-fb:125 nack pli
    a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
    a=rtpmap:107 rtx/90000
    a=fmtp:107 apt=125
    a=rtpmap:108 H264/90000
    a=rtcp-fb:108 goog-remb
    a=rtcp-fb:108 transport-cc
    a=rtcp-fb:108 ccm fir
    a=rtcp-fb:108 nack
    a=rtcp-fb:108 nack pli
    a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
    a=rtpmap:109 rtx/90000
    a=fmtp:109 apt=108
    a=rtpmap:124 H264/90000
    a=rtcp-fb:124 goog-remb
    a=rtcp-fb:124 transport-cc
    a=rtcp-fb:124 ccm fir
    a=rtcp-fb:124 nack
    a=rtcp-fb:124 nack pli
    a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
    a=rtpmap:120 rtx/90000
    a=fmtp:120 apt=124
    a=rtpmap:123 red/90000
    a=rtpmap:119 rtx/90000
    a=fmtp:119 apt=123
    a=rtpmap:114 ulpfec/90000
    a=ssrc-group:FID 3747062777 227800175
    a=ssrc:3747062777 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:3747062777 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:3747062777 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:3747062777 label:e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:227800175 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:227800175 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:227800175 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:227800175 label:e64ec0a4-3603-40d3-a6c6-01c5e60c79ef

    13:32:00 [debug] [peer.cpp(165)] Ivv61MFbOi96l__ZAAAB: On signaling state change: 3
    13:32:00 [debug] [peer.cpp(225)] Ivv61MFbOi96l__ZAAAB: On add stream
    13:32:00 [debug] [signaler.cpp(139)] -------onAddRemotestream---------
    13:32:00 [debug] [peermanager.cpp(64)] Received offer: v=0
    o=- 7392103695987858658 2 IN IP4 127.0.0.1
    s=-
    t=0 0
    a=group:BUNDLE audio video
    a=msid-semantic: WMS je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:ICgM
    a=ice-pwd:hruHw+Fgaswb+slJ3/eE3Yad
    a=ice-options:trickle
    a=fingerprint:sha-256 B3:30:19:FA:91:57:CE:2B:7D:60:C4:16:27:FE:8E:CB:76:57:31:C6:75:72:72:87:36:C4:8E:30:91:01:27:D8
    a=setup:actpass
    a=mid:audio
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=sendrecv
    a=rtcp-mux
    a=rtpmap:111 opus/48000/2
    a=rtcp-fb:111 transport-cc
    a=fmtp:111 minptime=10;useinbandfec=1
    a=rtpmap:103 ISAC/16000
    a=rtpmap:104 ISAC/32000
    a=rtpmap:9 G722/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:106 CN/32000
    a=rtpmap:105 CN/16000
    a=rtpmap:13 CN/8000
    a=rtpmap:110 telephone-event/48000
    a=rtpmap:112 telephone-event/32000
    a=rtpmap:113 telephone-event/16000
    a=rtpmap:126 telephone-event/8000
    a=ssrc:1294348972 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:1294348972 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd 30683b54-4aef-4c98-bf11-e9f497eddafd
    a=ssrc:1294348972 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:1294348972 label:30683b54-4aef-4c98-bf11-e9f497eddafd
    m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:ICgM
    a=ice-pwd:hruHw+Fgaswb+slJ3/eE3Yad
    a=ice-options:trickle
    a=fingerprint:sha-256 B3:30:19:FA:91:57:CE:2B:7D:60:C4:16:27:FE:8E:CB:76:57:31:C6:75:72:72:87:36:C4:8E:30:91:01:27:D8
    a=setup:actpass
    a=mid:video
    a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
    a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:4 urn:3gpp:video-orientation
    a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
    a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
    a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
    a=sendrecv
    a=rtcp-mux
    a=rtcp-rsize
    a=rtpmap:96 VP8/90000
    a=rtcp-fb:96 goog-remb
    a=rtcp-fb:96 transport-cc
    a=rtcp-fb:96 ccm fir
    a=rtcp-fb:96 nack
    a=rtcp-fb:96 nack pli
    a=rtpmap:97 rtx/90000
    a=fmtp:97 apt=96
    a=rtpmap:98 VP9/90000
    a=rtcp-fb:98 goog-remb
    a=rtcp-fb:98 transport-cc
    a=rtcp-fb:98 ccm fir
    a=rtcp-fb:98 nack
    a=rtcp-fb:98 nack pli
    a=fmtp:98 x-google-profile-id=0
    a=rtpmap:99 rtx/90000
    a=fmtp:99 apt=98
    a=rtpmap:100 H264/90000
    a=rtcp-fb:100 goog-remb
    a=rtcp-fb:100 transport-cc
    a=rtcp-fb:100 ccm fir
    a=rtcp-fb:100 nack
    a=rtcp-fb:100 nack pli
    a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
    a=rtpmap:101 rtx/90000
    a=fmtp:101 apt=100
    a=rtpmap:102 H264/90000
    a=rtcp-fb:102 goog-remb
    a=rtcp-fb:102 transport-cc
    a=rtcp-fb:102 ccm fir
    a=rtcp-fb:102 nack
    a=rtcp-fb:102 nack pli
    a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f
    a=rtpmap:122 rtx/90000
    a=fmtp:122 apt=102
    a=rtpmap:127 H264/90000
    a=rtcp-fb:127 goog-remb
    a=rtcp-fb:127 transport-cc
    a=rtcp-fb:127 ccm fir
    a=rtcp-fb:127 nack
    a=rtcp-fb:127 nack pli
    a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
    a=rtpmap:121 rtx/90000
    a=fmtp:121 apt=127
    a=rtpmap:125 H264/90000
    a=rtcp-fb:125 goog-remb
    a=rtcp-fb:125 transport-cc
    a=rtcp-fb:125 ccm fir
    a=rtcp-fb:125 nack
    a=rtcp-fb:125 nack pli
    a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f
    a=rtpmap:107 rtx/90000
    a=fmtp:107 apt=125
    a=rtpmap:108 H264/90000
    a=rtcp-fb:108 goog-remb
    a=rtcp-fb:108 transport-cc
    a=rtcp-fb:108 ccm fir
    a=rtcp-fb:108 nack
    a=rtcp-fb:108 nack pli
    a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032
    a=rtpmap:109 rtx/90000
    a=fmtp:109 apt=108
    a=rtpmap:124 H264/90000
    a=rtcp-fb:124 goog-remb
    a=rtcp-fb:124 transport-cc
    a=rtcp-fb:124 ccm fir
    a=rtcp-fb:124 nack
    a=rtcp-fb:124 nack pli
    a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032
    a=rtpmap:120 rtx/90000
    a=fmtp:120 apt=124
    a=rtpmap:123 red/90000
    a=rtpmap:119 rtx/90000
    a=fmtp:119 apt=123
    a=rtpmap:114 ulpfec/90000
    a=ssrc-group:FID 3747062777 227800175
    a=ssrc:3747062777 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:3747062777 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:3747062777 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:3747062777 label:e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:227800175 cname:G/WgJ3Ijh9QR84NI
    a=ssrc:227800175 msid:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd e64ec0a4-3603-40d3-a6c6-01c5e60c79ef
    a=ssrc:227800175 mslabel:je7s7e9RhWY3cMVjVn8y0ipyOgJnTgu1bMYd
    a=ssrc:227800175 label:e64ec0a4-3603-40d3-a6c6-01c5e60c79ef

    13:32:00 [debug] [peer.cpp(329)] On SDP parse success
    13:32:00 [debug] [peer.cpp(255)] Ivv61MFbOi96l__ZAAAB: Set local description
    13:32:00 [debug] [peer.cpp(165)] Ivv61MFbOi96l__ZAAAB: On signaling state change: 0
    13:32:00 [debug] [peer.cpp(329)] On SDP parse success
    13:32:00 [debug] [peer.cpp(191)] Ivv61MFbOi96l__ZAAAB: On ICE gathering change: 1
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:2999745851 1 udp 2122260223 192.168.56.1 60548 typ host generation 0 ufrag ICgM network-id 2
    13:32:00 [debug] [peer.cpp(185)] Ivv61MFbOi96l__ZAAAB: On ICE connection change: 1
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:564218470 1 udp 2122194687 100.64.100.204 60549 typ host generation 0 ufrag ICgM network-id 1 network-cost 10
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:2999745851 1 udp 2122260223 192.168.56.1 60550 typ host generation 0 ufrag ICgM network-id 2
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:564218470 1 udp 2122194687 100.64.100.204 60551 typ host generation 0 ufrag ICgM network-id 1 network-cost 10
    13:32:00 [debug] [peer.cpp(191)] Ivv61MFbOi96l__ZAAAB: On ICE gathering change: 2
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:4233069003 1 tcp 1518280447 192.168.56.1 9 typ host tcptype active generation 0 ufrag ICgM network-id 2
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:1864545942 1 tcp 1518214911 100.64.100.204 9 typ host tcptype active generation 0 ufrag ICgM network-id 1 network-cost 10
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:4233069003 1 tcp 1518280447 192.168.56.1 9 typ host tcptype active generation 0 ufrag ICgM network-id 2
    13:32:00 [debug] [signaler.cpp(89)] Peer message: demo|Ivv61MFbOi96l__ZAAAB
    13:32:00 [debug] [peermanager.cpp(85)] Received candidate: candidate:1864545942 1 tcp 1518214911 100.64.100.204 9 typ host tcptype active generation 0 ufrag ICgM network-id 1 network-cost 10
    13:32:15 [debug] [peer.cpp(185)] Ivv61MFbOi96l__ZAAAB: On ICE connection change: 4```

    Error :

    [libx264 @ 0x7f415c001600] invalid level_idc: 8
    12:00:14 [error] [multiplexencoder.cpp(153)] Error: Cannot open the video codec: Generic error in an external library
    12:00:14 [error] [streamrecorder.cpp(87)] Failed to init encoder: std::exception

    How to resolve this error ?

  • Read ID3 tags generated using Apple's id3taggenerator

    9 octobre 2024, par Damiaan Dufaux

    Hi I am creating an HLS stream with ID3 tags using Apple's HTTP Live Streaming (HLS) Tools, FFmpeg and NodeJS. When I try to read out the stream using an AVPlayer and AVPlayerItemMetadataOutput on macOS I'm not able to read out the ID3 tags. When I use the same code to read out a sample stream containing ID3 tags I do see them popping up. What am I doing wrong ?

    


    Reproduction :

    


    Streaming

    


    I generate an infinite HLS stream from a 5 minute long mpeg ts file using this command :

    


    ffmpeg -stream_loop -1 -re -i 5m.ts -c:v copy -c:a copy -f mpegts -strict -2 - | mediastreamsegmenter -b http://DamiaanTheoPro14.local:8081/ -f /tmp/hlsId3/video -D -m -M 50000 -log /tmp/hlsId3/log.txt


    


    I serve that HLS stream using nodejs builtin http-server

    


    ID3 tag generation

    


    Then I emit some ID3 tags using the following commands :

    


    id3taggenerator -title foo -artist bar -a localhost:50000
id3taggenerator -text "foo bar" -d "sample text" -r -a localhost:50000


    


    Reading

    


    Now to read out the tags I use this little SwiftUI app :

    


    import SwiftUI
import AVKit

let bipbopUrl = URL(string: "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8")!
let localUrl = URL(string: "http://damiaantheopro14.local:8081/prog_index.m3u8")!
let local = AVPlayerItem(url: localUrl)
let bipbop = AVPlayerItem(url: bipbopUrl)

struct ContentView: View {
    let player = AVPlayer()
    let observer = Id3Observer()
    var lastTag: AVMetadataGroup?
    
    var body: some View {
        VStack {
            HStack {
                Button("BipBop") {
                    player.replaceCurrentItem(with: bipbop)
                    bipbop.add(observer.metadataOutput)
                }
                Button("Local") {
                    player.replaceCurrentItem(with: local)
                    local.add(observer.metadataOutput)
                }
                Button("🅧") {
                    player.replaceCurrentItem(with: nil)
                }
            }
            VideoPlayer(player: player)
        }
        .padding()
    }
}

class Id3Observer: NSObject, AVPlayerItemMetadataOutputPushDelegate {
    let metadataOutput = AVPlayerItemMetadataOutput()
    
    override init() {
        super.init()
        metadataOutput.setDelegate(self, queue: .global())
    }
    
    func metadataOutput(_ output: AVPlayerItemMetadataOutput, didOutputTimedMetadataGroups groups: [AVTimedMetadataGroup], from: AVPlayerItemTrack?) {
        print("metadataOutput", groups.count)
        print("\t", groups.map { group in
            group.items.map { item in
                "\(item.dataType) \(item.keySpace!) \(item.key!) \(item.time.seconds) \(item.duration.seconds.rounded())"
            }.joined(separator: "/n/t")
        }.joined(separator: "\n\t"))
    }
}


    


  • FFMPEG on AWS Lambda Only outputs half a second of video when converting video from mobile safari

    18 août 2023, par user1825257

    I am running FFMPEG on AWS Lambda using nodejs and fluent-ffmpeg. I am able to convert videos recorded on most devices / browsers, but when I attempt to convert videos recorded on Mobile Safari, the length of the output video is 1/2 a second regardless of the input length.

    


    My Typescript code is :

    


        import * as ffmpeg from &#x27;fluent-ffmpeg&#x27;;&#xA;    public static StandardizeVideoFormat(&#xA;      inputSignedUrl: string,&#xA;      filename: string,&#xA;    ): Promise<string> {&#xA;      const localFilePath = `/tmp/${Date.now()}_${filename}.mp4`;&#xA;    &#xA;      return new Promise((resolve, reject) => {&#xA;        ffmpeg(inputSignedUrl)&#xA;          .outputOptions([&#xA;            &#x27;-crf&#x27;,&#xA;            &#x27;18&#x27;,&#xA;            &#x27;-vcodec&#x27;,&#xA;            &#x27;libx264&#x27;,&#xA;            &#x27;-codec:a&#x27;,&#xA;            &#x27;aac&#x27;,&#xA;            &#x27;-preset&#x27;,&#xA;            &#x27;medium&#x27;,&#xA;          ])&#xA;          .output(localFilePath)&#xA;          .on(&#x27;start&#x27;, function (commandLine) {&#xA;            console.log(&#x27;Spawned Ffmpeg with command: &#x27; &#x2B; commandLine);&#xA;          })&#xA;          .on(&#x27;error&#x27;, function (err) {&#xA;            reject(err);&#xA;          })&#xA;          .on(&#x27;progress&#x27;, function (progress) {&#xA;            console.log(&#x27;progress&#x27;, progress);&#xA;          })&#xA;          .on(&#x27;end&#x27;, function () {&#xA;            resolve(localFilePath);&#xA;          })&#xA;          .run();&#xA;      });&#xA;    }&#xA;</string>

    &#xA;

    Using FFprobe, The metadata of the input file is :

    &#xA;

    {&#xA;  streams: [&#xA;    {&#xA;      index: 0,&#xA;      codec_name: &#x27;h264&#x27;,&#xA;      codec_long_name: &#x27;H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10&#x27;,&#xA;      profile: &#x27;Baseline&#x27;,&#xA;      codec_type: &#x27;video&#x27;,&#xA;      codec_tag_string: &#x27;avc1&#x27;,&#xA;      codec_tag: &#x27;0x31637661&#x27;,&#xA;      width: 1920,&#xA;      height: 1080,&#xA;      coded_width: 1920,&#xA;      coded_height: 1080,&#xA;      closed_captions: 0,&#xA;      film_grain: 0,&#xA;      has_b_frames: 0,&#xA;      sample_aspect_ratio: &#x27;N/A&#x27;,&#xA;      display_aspect_ratio: &#x27;N/A&#x27;,&#xA;      pix_fmt: &#x27;yuvj420p&#x27;,&#xA;      level: 40,&#xA;      color_range: &#x27;pc&#x27;,&#xA;      color_space: &#x27;unknown&#x27;,&#xA;      color_transfer: &#x27;unknown&#x27;,&#xA;      color_primaries: &#x27;unknown&#x27;,&#xA;      chroma_location: &#x27;left&#x27;,&#xA;      field_order: &#x27;progressive&#x27;,&#xA;      refs: 1,&#xA;      is_avc: &#x27;true&#x27;,&#xA;      nal_length_size: 4,&#xA;      id: &#x27;0x1&#x27;,&#xA;      r_frame_rate: &#x27;30000/1001&#x27;,&#xA;      avg_frame_rate: &#x27;60000/1991&#x27;,&#xA;      time_base: &#x27;1/600&#x27;,&#xA;      start_pts: 26,&#xA;      start_time: 0.043333,&#xA;      duration_ts: 4008,&#xA;      duration: 6.68,&#xA;      bit_rate: 10175170,&#xA;      max_bit_rate: &#x27;N/A&#x27;,&#xA;      bits_per_raw_sample: 8,&#xA;      nb_frames: &#x27;N/A&#x27;,&#xA;      nb_read_frames: &#x27;N/A&#x27;,&#xA;      nb_read_packets: &#x27;N/A&#x27;,&#xA;      extradata_size: 31,&#xA;      side_data_type: &#x27;Display Matrix&#x27;,&#xA;      displaymatrix: &#x27;&#x27;,&#xA;      rotation: &#x27;-90&#x27;,&#xA;      tags: [Object],&#xA;      disposition: [Object]&#xA;    },&#xA;    {&#xA;      index: 1,&#xA;      codec_name: &#x27;aac&#x27;,&#xA;      codec_long_name: &#x27;AAC (Advanced Audio Coding)&#x27;,&#xA;      profile: &#x27;LC&#x27;,&#xA;      codec_type: &#x27;audio&#x27;,&#xA;      codec_tag_string: &#x27;mp4a&#x27;,&#xA;      codec_tag: &#x27;0x6134706d&#x27;,&#xA;      sample_fmt: &#x27;fltp&#x27;,&#xA;      sample_rate: 48000,&#xA;      channels: 1,&#xA;      channel_layout: &#x27;mono&#x27;,&#xA;      bits_per_sample: 0,&#xA;      initial_padding: 0,&#xA;      id: &#x27;0x2&#x27;,&#xA;      r_frame_rate: &#x27;0/0&#x27;,&#xA;      avg_frame_rate: &#x27;0/0&#x27;,&#xA;      time_base: &#x27;1/48000&#x27;,&#xA;      start_pts: 0,&#xA;      start_time: 0,&#xA;      duration_ts: 319488,&#xA;      duration: 6.656,&#xA;      bit_rate: 181302,&#xA;      max_bit_rate: &#x27;N/A&#x27;,&#xA;      bits_per_raw_sample: &#x27;N/A&#x27;,&#xA;      nb_frames: &#x27;N/A&#x27;,&#xA;      nb_read_frames: &#x27;N/A&#x27;,&#xA;      nb_read_packets: &#x27;N/A&#x27;,&#xA;      extradata_size: 2,&#xA;      tags: [Object],&#xA;      disposition: [Object]&#xA;    }&#xA;  ],&#xA;  format: {&#xA;    filename: &#x27;input.mp4&#x27;,&#xA;    nb_streams: 2,&#xA;    nb_programs: 0,&#xA;    format_name: &#x27;mov,mp4,m4a,3gp,3g2,mj2&#x27;,&#xA;    format_long_name: &#x27;QuickTime / MOV&#x27;,&#xA;    start_time: 0,&#xA;    duration: 6.723333,&#xA;    size: 8651792,&#xA;    bit_rate: 10294646,&#xA;    probe_score: 100,&#xA;    tags: {&#xA;      major_brand: &#x27;iso5&#x27;,&#xA;      minor_version: &#x27;1&#x27;,&#xA;      compatible_brands: &#x27;isomiso5hlsf&#x27;,&#xA;      creation_time: &#x27;2023-08-05T19:03:15.000000Z&#x27;&#xA;    }&#xA;  },&#xA;  chapters: []&#xA;}&#xA;

    &#xA;

    Any ideas on why the output of my command on this file always results in a 0.5 second long output ?

    &#xA;