Forum

MPEG4 is getting audio only video is missing

Sulabh Khanal 2019-01-18 13:40:37 UTC in WMSPanel functionality

Hello,

I am trying to stream HLS from a very low bitrate MPEG4 stream but only audio is being played and video is blank. I am pulling udp multicast stream via ffmpeg => transcoding it into mpeg4 => pushing it to wmspanel/nimble via udp:

ffmpeg -re -timeout 2000 -i 'udp://@239.1.9.53:8002?overrun_nonfatal=1&fifo_size=50000000' -pix_fmt yuv420p -aspect 16:9 -filter:v yadif=0:-1:1,fps=25 -c:v mpeg4 -vtag xvid -s 176:144 -b:v 74k -c:a aac -b:a 64k -ar 44100 -framerate 20 -strict -2 -max_muxing_queue_size 1024 -f mpegts 'udp://192.168.2.200:2345' </dev/null >/dev/null 2>/root/mpeg4.log &

The following is the ffmpeg output:
Input #0, mpegts, from 'udp://@239.1.9.53:8002?overrun_nonfatal=1&fifo_size=50000000':
Duration: N/A, start: 50971.689489, bitrate: N/A
Program 98
Metadata:
service_name : #########
service_provider: ########
Stream #0:0[0x63]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x64](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 128 kb/s
Stream #0:2[0x65](eng): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 64 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
Stream #0:1 -> #0:1 (mp2 (native) -> aac (native))
Press [q] to stop, [?] for help
[h264 @ 0x55e294d23460] reference picture missing during reorderbitrate= -0.0kbits/s speed=N/A
[h264 @ 0x55e294d23460] Missing reference picture, default is 65413
[h264 @ 0x55e294e00ce0] mmco: unref short failure
Last message repeated 1 times
[h264 @ 0x55e294e00ce0] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
[h264 @ 0x55e294b76aa0] mmco: unref short failure
[h264 @ 0x55e294e1fa80] mmco: unref short failure
[mpeg4 @ 0x55e294c233c0] too many threads/slices (10), reducing to 9ate= -0.0kbits/s speed=N/A
Output #0, mpegts, to 'udp://192.168.2.200:2345':
Metadata:
encoder : Lavf57.83.100
Stream #0:0: Video: mpeg4, yuv420p, 176x144 [SAR 16:11 DAR 16:9], q=2-31, 74 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc57.107.100 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/74000 buffer size: 0 vbv_delay: -1
Stream #0:1(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
encoder : Lavc57.107.100 aac
root@vm2:~# fps= 25 q=31.0 size= 3790kB time=00:02:40.12 bitrate= 193.9kbits/s speed=0.998x

I have pulled the above mpegts udp stream via wmspanel/MPEGTS In and streaming via hls through MPEGTS Out. In MPEGTS out, I can see that both VIDEO and profile audio profiles are being loaded (udp://192.168.2.200:2345 Stream 256 (MPEG-4 Video) udp://192.168.2.200:2345 Stream 257 (MPEG-2 AAC Audio)

However, when I play the HLS stream, there is no video but audio is playing.
The video is playing when I use x264 codec in ffmpeg. As listed in https://wmspanel.com/nimble/codecs MPEG4 Video is supported.
Could you please suggest?

Denis Slobodskoy 2019-01-21 02:59:37 UTC 

Please remove -vtag xvid option (or use -vtag h263) since Nimble doesn't recognize this setting. Also, if you would like to play it in a browser, use H.264 encoder ( -c:v libx264) instead of mpeg4.

Sulabh Khanal 2019-01-21 12:57:45 UTC 

Thank you Denis.
I can now play the video stream on VLC player. However, webplayers (player.wmspanel.com) still do not play the video and the video on the stream's dvr is also missing. I guess its best to use H.264 encoder for best compatibility.

nino 2020-01-18 18:26:28 UTC 

hi guys i have transcode so i want to
pipe:///usr/bin/ffmpeg -i /stream/channelnumber/54 -vf yadif=0:0:0 -vcodec libx264 -preset veryfast -s 1280x720 -b 2500k -minrate 2500k -maxrate 2500k -bufsize 2500k -acodec aac -ab 128k -ar 44100 -strict -2 -metadata service_provider=TTVSTREAM -metadata service_name=TGCOM24 -f mpegts -tune zerolatency pipe:1

add my personal logo but it gives me error doing so

-i /home/logo.png -filter_complex overlay=main_w-overlay_w-1600:main_h-overlay_h-920 -vf yadif=0:0:0 -vcodec libx264 -preset veryfast -s 720x576 -b 3000k -minrate 3000k -maxrate 3000k -bufsize 3000k -acodec aac -ab 128k -ar 44100 -strict -2 -metadata service_provider=TTVSTREAM -metadata service_name=TGCOM24 -f mpegts -tune zerolatency pipe:1

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSnimble streamerDVRRTMPhlsSRTsrtABRrtmpcacheNimblewmsauthAPItranscoderdvrffmpegapisldpudpVODaudioRTSPfailoverrtspDASHwmspanelUDPvodpaywallstreamingabrSLDPyoutubemp4DispersastreamerandroidsslmulticastLarixsubtitlesliveNDIvideolivestreamingplaylistWMSAuthMPEG-DASHpay-per-viewerrorgeoMPEG-TSre-streamingdashcorsWMSPaneledgebandwidththumbnaillarix broadcasterWindowshttpswhite labelconfigsmilFFMPEGencryptionCORSperformancechunksraspberry pimpeg-dashpublish controlcloudfrontDRMRepublishingvlcAWSS3advertisinguser agentadvertizerristrepublishingrules.confipv6MPEGTSFastSpringRecordingRAMwms panelfileFMLEVATcrossdomainSMILmpegtsaespushakamaimobilewowzaPullserverscodecmanifestSSLchromecastbalancedrmTranscodem3u8TranscoderbugWowzaIDreportingconfigurationsnapshotdownloadawsAndroidnimblestreamerdomaintranscoderaspianloopscte35streamroutesamazonupdateipVidillionHttpsmpeg-tsBroadcastplaylist_dvrVLCPIDerrorsEncoderoriginscte-35issuechunklimitsecurityLarix BroadcasterIPCDNthumbnailsUIRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4logIIS Smooth StreamingcloudmediaIPTVprofilelarix abrTSReaderAbrHTTPSHot-linking protectionHDSvaddioalertsMuxjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4streamsinterfacesHLS Meta Tag editing.encrytpionloadbalancingwmsattachmentHEVCmetadatamod_rewritewmsauthsignpricehighresourcehds streamOld logsciscolocalscreencastID3 tagsgbpsAxis.net hotlinkRTMP republishattaching domainssdpshoutcastno internetInterlacedocumentationofflinecontainerNimble streamer upgradeMulticast*concurrent-connectionsTrancoderrecordingrtmp abranalisysresumeniblerhls restreamingServer-siderestreamstoppedMPEG2TSNimble Streamer versionmainWMSCONFIG_HOMEdissapointmentdatmessagegentoo install server nimbletranscoding using NvidiaPublic IpPaywall AuthwildcardobsTCOno WMSPanelVideo Playertransocding republishingdecoderAliaspay per viewlost trafficdvr_archivesmpeg dashnginx rtmp nimbleRaspian Bustericecast urlexportopenssllimuxamazon web servicenginxPlayReadychangedvr stream twiceLarix GroveamfAXVVGhot-linkIOSExpression EncoderblocknvenconSteam stopped workingadaptiveAV1 codecHLS PlayerJWPLAYERNGINX-RTMPHLS in UDP outDASH PlayerHLS voddvr export to mp47analyticsapplicationpaywalbrandingtrialCablemicrosoft streamMP4rocksoftlog traffic statsjpegscreen freezecan't registeraccuracyprivate networkLarge DVR fileslive videodebianTelegraminterleavingSLDP PLayerseekingmac osx installwotermarklive video on demandbandwithnimblesessionidFFmpegmultiple originsvimeohelp errorserverload balancezabbixheadercache expirycdnvsomlog nimble analysertmp playbacklive streamsourceViewer StatsAdsvideojsLive Streamingbitrate#restreamMP4 not playedspaceServer-Side-Task-Controlvideo stopaes encryptionsubscriptionvod no soundconcurrent connectionlebanonlocationUbuntu 20 ARM - AWSunique visitorconnectivitydvr streamstereo to monoscreen capturelive pull settingsWMSPanel settingsABR HLS Bitratesrtmp for YouTube4Kcrossdomain more then 1 domainWidevineFairplaycpunot foundCPU LoadpullAS3loggingnimble streamer vod hls transmuxingbuttAWS 3Cross Domaininsert logoinstall players setup ready to goDVRSettingstwitch larix broadcaster androidicecast metadataDVRStreamsAppleDelete recordspremium featureControl APIProgressivenimble streamer web server php script pageautomationLive streamingvideo loopUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHstarttime duration seekpointadd_chunk failedPost processingfake extensionstatus:errorrebootdroppingmobile app live streamingmonitoroutrateudp streamingapi accessDeep statsicecastMPEG-Dashloadbalancerweb playercontent-dispositionpaymentstatsNimble ServerAVCaptureMovieFileOutputblock downloadrestartdvr streamsavoid refreshlivestreamABR DVR problemNimble CapacityHotlinking ProtectionStreaming routehotlinkfacebookcontentRTMP RepublishSecurityLive Switcherdemandnot to stealLive BroadcastMultiple Audio trackssecure streaminglow_bandwidthwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-Balancingvp9adsounddisk migrationThumbnailsserver incorrect timeLIVELivelearnernimble webcam html5ssaiDVR Setting limitpausemosaicHow to do live stream with multiple audio trackrmtptranscoder nimblereportsdvr on wmspanelfpsVideo cant be playedS3 AWSraspberryPaywalllivestreamintransocderstorage space availablediskcredentialsdvr to livewebhookautomateuser_agentvbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPlarixscteInvalid frame headerno soundincoming streamSubtitleslivestream bitratedockerDVRRecordingAuthGopDVR SettingPORTdelaympeg4storagealias route.movartifactsrtsp push androidmultiviewRAM Loadhttp serverLatencywirecasta recordruleshow-tomanage_dvrError when installingVP9server ip21Nimble connectionsabr fallbackno audiolatencyaliasdata slicesplayer sldpmp2 audioNimble streamerfastspringsoftware versionadjustSO_RCVBUFbuffering videodistributionbufferqataritworkscdnvideo.jsmultiplexcompatibility protocolsCentos 8pay-per-minuteTeradek Decoderubuntu 183.6.1-1UDP MulticastMax connectionincomingmulti-viewerFallbackhelpmultiple audio udphotlink protectionRaspberryPi4ultra low latencyaws amazonhls to multicast udpnoobSSL requestsha265broadcasterOSXmd5analyseStreamIDprerollnimble on cloudrtmp sldp nimblepluginfallbacktasks-controlRaspberryRTMP to SRTLinuxgpu{stream}Connections count limitNimble_Crushwebrtc4GRIST Bondingplayoutsrt-live-transmitWowza AgentRemote StorageSSAItuningAmazonTVfireOBSvideo and audio not matchLarix broadcasterNetworkspeedup my videoiOSPerformanceSnapshotsSRT RTMPre-publishingletsencryptTonydowntranscodingFFMPEG;RTMP;I/O errorLL-HLSHTML5 playerAddendaABR DASHprogressive downloadeventLL-HLS DVRav1 codecconnectionsNimbleStreamernimble aliasesNimble StreambuildABR bitratesPacketizingcountrist set fecmultiple audioOBS StudioWMSAUTHIVSDelaympeg2tsIIS Media Servicsrtmp republishing transcodenimble.confinterfacetrackbindprogressivebroadcast videovideo audioSRT protocoldvbduplicatingpcdynamic linksTLSV 1.2 CertificatesubfolderbrowserurlGoogle DriveHLS Streamingrtmpscostnimble abr hlsthumbnail dvr-thumbnailaudio languageVR-360Failovergoogle cloud storagepricingoverlayhot linkingTRANSCODErtpnimble dvrBandwidthdurationYadifportsRokuContinuitywordpressJetson NanoSecureLarix PlayerramfairplayNginxpublish streamStream Delayhd25trafficAArch64video streamingQuickTimeCloud StorageRistmultistreamingmultipleserver ssl erroractionscript 3dropped framesCSSMPEG2 VideoPCRlogo in streammultipointrulerepublishconcurrent

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.