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 StreamerFAQHLSDVRRTMPhlsnimble streamerABRcachewmsauthNimbleAPIdvrapiSRTtranscoderffmpegrtmpVODfailoversrtsldpstreamingDASHwmspanelvodrtspudppaywallsubtitlesDispersaRTSPSLDPvideoyoutubeabrlivelivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeobandwidthdashstreameredgeWMSPanelWindowsencryptionUDPhttpswhite labelconfigsmilmulticastsslFFMPEGMPEG-TSaudioCORSchunksraspberry pire-streamingmpeg-dashandroidperformanceadvertizercorsvlccloudfrontDRMS3user agentrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMthumbnailFMLEVATcrossdomainipupdatempegtsSMILRecordingaespushakamaiwowzaserversPullmobilecodecerrorSSLbalanceTranscodem3u8chromecastplaylist_dvrWowzaIDreportingconfigurationbugdownloadnimblestreamerdomainLarixrepublishingLarix BroadcasterRepublishingmpeg-tsraspianVidillionHttpsloopchunkawsAWSNDIoriginCDNrouteswms panelpublish controlamazonIPnimble webcam html5UIbitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogWowza AgentRemote StorageIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitebaselinewhmcsAuthentication in HLSnginx rtmp nimblePi4AV BridgepriceVaddiolimitOld logsPI3 Ubuntuscte-35screencastview timeattaching domainsinterfacescontainerDVRRecordingloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxisdatmessageWMSCONFIG_HOMErestreamcostwmsauthsignhighhds streamlocalcisco.net hotlinkhls restreamingVLCgentoo install server nimbleniblerPublic Iptranscoding using NvidiaPaywall AuthofflinedocumentationNimble streamer upgradedecodertransocding republishingVideo PlayerTrancoderconcurrent-connectionsfileAliaslost trafficServer-sidestoppedNimble Streamer versionmainicecast urlrulehot linkinglebanonlocationmanifestchangeMP4 not playedspacepay per viewLarix Groveamfseekingdvr_archivesmpeg dashobsTCORaspian BusteropensslonSteam stopped workingnginxPlayReadyamazon web servicelimuxdvr stream twiceHLS vodsdphot-linkAXVVGanalyticspaywalapplicationExpression Encoderblocknvenc7brandingHLS PlayertrialDASH PlayerMP4microsoft streamdebianerrorsrocksoftlog traffic statslive video on demandbandwithserverscreen freezecan't registerprogressive downloadABR DASHFFmpegmultiple originsnimblesessionidprivate networkLarge DVR filesheaderno WMSPanelsourcelive videointerleavingSnapshotslog nimble analysertmp playbackmac osx installvideojswotermarkvideo stopvimeohelp erroradaptiveAV1 codecNGINX-RTMPJWPLAYERload balancestreamscache expiryattachmentcdnvsomlive streamvod no soundconcurrent connection4Kcrossdomain more then 1 domainViewer Statsdvr streamconnectivityUbuntu 20 ARM - AWSunique visitorcpumpeg2tsDelayServer-Side-Task-ControlWidevinedisk migrationAWS 3buttscreen capturestereo to mononot foundCPU Loaddrmpullresourceaes encryptionAS3subscriptionTranscoderLive streamingsecurityABR HLS Bitrateslive pull settingsWMSPanel settingstwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsApplertmp for YouTubeudp streamingoutratevideo loopicecaststarttime duration seekpointrebootnimble streamer vod hls transmuxingloggingmonitorlearnernimble.confrtmp republishing transcodeIIS Media Servicsinsert logoapi accessDeep statsloadbalancerweb playerdvr streamsautomationnimble streamer web server php script pageNimble Streamer APIlivestreamAVCaptureMovieFileOutputblock downloadcontent-dispositionNimble CapacityABR DVR problemPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHLive SwitcherNimble Servernot to stealLive Broadcaststatus:errorFFMPEG;RTMP;I/O errortranscodingHotlinking ProtectionStreaming routeRTMP republishPIDMPEG-Dashlarix broadcasterbroadcasterOSXpaymentstatsreloadpremium featureserver incorrect timeThumbnailsLiveLIVEadvp9contentRTMP RepublishdemandHow to do live stream with multiple audio trackProgressivenimble aliasesHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignsoundHLS Meta Tag editing.rmtpno internetdelaympeg4transcoder nimbleSecureJetson Nanodvr on wmspanelVideo cant be playedS3 AWSuser_agentautomateAndroidreportsavoid refreshraspberryBroadcastdockerlivestream bitratepublish streamStream Delaytraffichd25AArch64transcodevbv-maxrateVR-360Failoverdomain lockVOD HLS streaming on public IPoutputUsers limitcloudflareanalisysscteABR bitratesPacketizingbuildincoming streamno soundInvalid frame headerHTML5 playerGopwirecasta recordhttp server.movalias routestorageNimbleStreamerav1 codecspeedup my videoiOSfastspringmp2 audioNimble streamerdata slicesaliasplayer sldpdistributionlatencyqataritworkscdnvideo.jssoftware versionadjustPaywallvideo and audio not matchissuepricinggoogle cloud storagediskstorage space available3.6.1-1dissapointmentpay-per-minutecompatibility protocolsRAM Loadtransocderlivestreaminhow-tomanage_dvrError when installingrulesDVRStreamsaws amazonSO_RCVBUFbuffering videoUDP MulticastMax connectionMPEG2 Videologo in streamnimble on cloudprerollIOSrestarthelpFallbackdynamic linksTLSV 1.2 CertificateSSL requestserver ip21credentialsFairplayincomingmulti-viewerVP9sha265durationBandwidthnimble dvrrtpscte35ubuntu 18Teradek Decodervideo audioCross DomainSRT protocolabr fallbackNimble connectionsmd5DVR Setting limitssaibufferRIST BondingplayoutControl APIfallbackPORTDVR SettinganalyseStreamIDhotlink protectionultra low latencyRaspberryPi4gpuRaspberrytasks-controlbroadcast videoprogressivewebhookdvr to liveRTMP to SRTvideo streamingQuickTimeartifactsrtsp push androidtuningactionscript 3server ssl errorCSSRist

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.