MediaBrowser / Emby

Emby Server is a personal media server with apps on just about every device.
https://emby.media
GNU General Public License v2.0
4.2k stars 811 forks source link

Decoder (codec msmpeg4v3) not found for input stream #3442

Closed mathroc closed 6 years ago

mathroc commented 6 years ago

I have videos that can't be played with emby, when trying to play it I get:

HeaderPlaybackError No compatible streams are currently available. Please try again later or contact your system administrator for details.

I looked into the logs and found an error : "Error starting ffmpeg"

so I tried to manually run the ffmpeg command shown just before in the logs and I got:

ffmpeg version 4.0.2-emby_2018_09_13 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (crosstool-NG crosstool-ng-1.23.0)
  configuration: --cc=x86_64-pc-linux-gnu-gcc --arch=x86_64 --prefix=/home/embybuilder/Buildbot/x64/ffmpeg-x64/staging --pkg-config=pkg-config --disable-doc --disable-ffplay --disable-vdpau -
-disable-xlib --enable-fontconfig --enable-gnutls --enable-gpl --enable-iconv --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libx264 --enable-libzvbi --enable-version3 --disable-decoders --disable-encoders --enable-decoder=aac --enable-decoder=aac_fixed --enable-decoder=aac_latm --enable-decoder=ac3 --enable-decoder=ac3_fixed --enable-decoder=alac --enable-decoder=apng --enable-decoder=ass --enable-decoder=ayuv --enable-decoder=bmp --enable-decoder=dca --enable-decoder=dirac --enable-decoder=dvbsub --enable-decoder=dvdsub --enable-decoder=eac3 --enable-decoder=flac --enable-decoder=gif --enable-decoder=h264 --enable-decoder=hevc --enable-decoder=huffyuv --enable-decoder=mjpeg --enable-decoder=mlp --enable-decoder=mov_text --enable-decoder=mp3 --enable-decoder=mp3float --enable-decoder=mpeg4 --enable-decoder=opus --enable-decoder=pcm_alaw --enable-decoder=pcm_bluray --enable-decoder=pcm_dvd --enable-decoder=pcm_f16le --enable-decoder=pcm_f24le --enable-decoder=pcm_f32be --enable-decoder=pcm_f32le --enable-decoder=pcm_f64be --enable-decoder=pcm_f64le --enable-decoder=pcm_lxf --enable-decoder=pcm_mulaw --enable-decoder=pcm_s16be --enable-decoder=pcm_s16be_planar --enable-decoder=pcm_s16le --enable-decoder=pcm_s16le_planar --enable-decoder=pcm_s24be --enable-decoder=pcm_s24daud --enable-decoder=pcm_s24le --enable-decoder=pcm_s24le_planar --enable-decoder=pcm_s32be --enable-decoder=pcm_s32le --enable-decoder=pcm_s32le_planar --enable-decoder=pcm_s64be --enable-decoder=pcm_s64le --enable-decoder=pcm_s8 --enable-decoder=pcm_s8_planar --enable-decoder=pcm_u16be --enable-decoder=pcm_u16le --enable-decoder=pcm_u24be --enable-decoder=pcm_u24le --enable-decoder=pcm_u32be --enable-decoder=pcm_u32le --enable-decoder=pcm_u8 --enable-decoder=pcm_zork --enable-decoder=pgssub --enable-decoder=png --enable-decoder=r210 --enable-decoder=rawvideo --enable-decoder=ssa --enable-decoder=subrip --enable-decoder=srt --enable-decoder=text --enable-decoder=theora --enable-decoder=truehd --enable-decoder=v210 --enable-decoder=v210x --enable-decoder=v308 --enable-decoder=v408 --enable-decoder=v410 --enable-decoder=vorbis --enable-decoder=vp8 --enable-decoder=vp9 --enable-decoder=webp --enable-decoder=webvtt --enable-decoder=wmalossless --enable-decoder=wmapro --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmavoice --enable-decoder=wmv1 --enable-decoder=wmv2 --enable-decoder=wmv3 --enable-decoder=wmv3image --enable-decoder=y41p --enable-decoder=yuv4 --enable-decoder=zero12v --enable-encoder=aac --enable-encoder=ac3 --enable-encoder=ac3_fixed --enable-encoder=ass --enable-encoder=dvbsub --enable-encoder=dvdsub --enable-encoder=flac --enable-encoder=libmp3lame --enable-encoder=libopus --enable-encoder=libtheora --enable-encoder=libvorbis --enable-encoder=libwebp --enable-encoder=libx264 --enable-encoder=mjpeg --enable-encoder=mov_text --enable-encoder=png --enable-encoder=srt --enable-encoder=ssa --enable-encoder=subrip --enable-encoder=text --enable-encoder=webvtt --enable-libsmbclient --enable-decoder=mp1 --enable-decoder=mp2 --enable-decoder=mpegvideo --enable-decoder=mpeg1video --enable-decoder=mpeg2video --enable-decoder=vc1 --enable-cuda --enable-cuvid --enable-nvenc --enable-vaapi --enable-decoder=h264_cuvid --enable-decoder=hevc_cuvid --enable-decoder=mjpeg_cuvid --enable-decoder=mpeg1_cuvid --enable-decoder=mpeg2_cuvid --enable-decoder=mpeg4_cuvid --enable-decoder=vc1_cuvid --enable-decoder=vp8_cuvid --enable-decoder=vp9_cuvid --enable-encoder=h264_nvenc --enable-encoder=h264_vaapi --enable-encoder=hevc_nvenc --enable-encoder=hevc_vaapi --enable-encoder=mjpeg_vaapi --enable-cross-compile --cross-prefix=x86_64-pc-linux-gnu- --extra-libs='-ldl -lexpat -lfreetype -lfribidi -lfontconfig -liconv -lpng -luuid -lz -lvorbis -logg -lnettle -lhogweed -lgmp -laddns-samba4 -lasn1util-samba4 -lauthkrb5-samba4 -lCHARSET3-samba4 -lcliauth-samba4 -lcli-cldap-samba4 -lcli-ldap-common-samba4 -lcli-nbt-samba4 -lcli-smb-common-samba4 -lcom_err -lcommon-auth-samba4 -ldbwrap-samba4 -ldcerpc-binding -ldcerpc-samba-samba4 -lflag-mapping-samba4 -lgenrand-samba4 -lgensec-samba4 -lgse-samba4 -lgssapi_krb5 -llibcli-lsa3-samba4 -llibsmb-samba4 -linterfaces-samba4 -liov-buf-samba4 -lk5crypto -lkrb5 -lkrb5samba-samba4 -lkrb5support -lldb -lldbsamba-samba4 -lmessages-dgm-samba4 -lmessages-util-samba4 -lmsghdr-samba4 -lmsrpc3-samba4 -lndr -lndr-krb5pac -lndr-nbt -lndr-samba-samba4 -lndr-standard -lreplace-samba4 -lsamba-cluster-support-samba4 -lsamba-credentials -lsamba-debug-samba4 -lsamba-errors -lsamba-hostconfig -lsamba-modules-samba4 -lsamba-security-samba4 -lsamba-sockets-samba4 -lsamba-util -lsamba3-util-samba4 -lsamdb -lsamdb-common-samba4 -lsecrets3-samba4 -lserver-id-db-samba4 -lserver-role-samba4 -lsmbconf -lsmbd-shim-samba4 -lsmb-transport-samba4 -lsocket-blocking-samba4 -lsys-rw-samba4 -ltalloc -ltalloc-report-samba4 -ltdb -ltdb-wrap-samba4 -ltevent -ltevent-util -ltime-basic-samba4 -lutil-cmdline-samba4 -lutil-reg-samba4 -lutil-setid-samba4 -lutil-tdb-samba4 -lwbclient -lwinbind-client-samba4 -ldrm' --target-os=linux --enable-shared --disable-static
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, avi, from 'file:/media/videos/tv-shows/Hikaru's Go (2001)/Season 1/Hikaru's Go - 1x01 - Eternal Rival.avi':
  Metadata:
    encoder         : Nandub v1.0rc2
    title           : Hikaru no Go - Episode 01
    ISBJ            : Hikaru no Go - Episode 01
    artist          : #Elite-Fansubs@irc.enterthegame.com
    copyright       : www.elite-fansubs.com
    comment         : www.elite-fansubs.com
  Duration: 00:23:20.15, start: 0.000000, bitrate: 1058 kb/s
    Stream #0:0: Video: msmpeg4v3 (DIV3 / 0x33564944), none, 512x384, 925 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (? (?) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp3 (mp3float) -> aac (native))
Decoder (codec msmpeg4v3) not found for input stream #0:0

this is with the docker image emby/embyserver:3.6.0.49. Is there something I can try to install inside the running container to get this working ?

relevant logs extract:

2018-09-28 09:22:23.321 Info HttpServer: HTTP GET http://media.rochette.cc:8096/emby/videos/20348/hls1/main/0.ts?DeviceId=bed08d25e65a14eaf63d9b701f4da3b7fd85dfa2&MediaSourceId=7043c1274c46886e7fd39c898041988c&VideoCodec=h264&AudioCodec=aac&AudioStreamIndex=1&VideoBitrate=3872002&AudioBitrate=128000&PlaySessionId=c114118e74e2495397ee5ce78fbd9854&TranscodingMaxAudioChannels=2&Tag=149aa77264fd8c9355bb0d3d917c6c57&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&TranscodeReasons=ContainerNotSupported,VideoCodecNotSupported,AudioCodecNotSupported&allowVideoStreamCopy=false&allowAudioStreamCopy=false. Host=media.rochette.cc, User-Agent=Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0, Accept=*/*, Accept-Encoding=gzip, deflate, br, Accept-Language=en-US,en;q=0.8,fr-FR;q=0.5,fr;q=0.3, Dnt=1, Referer=https://media.rochette.cc/web/index.html, X-Forwarded-For=109.30.116.176, X-Forwarded-Host=media.rochette.cc, X-Forwarded-Port=443, X-Forwarded-Proto=https, X-Forwarded-Server=c87182c2cd2d, X-Real-Ip=109.30.116.176
2018-09-28 09:22:23.323 Debug App: Starting transcoding because currentTranscodingIndex=null
2018-09-28 09:22:23.323 Debug App: ThrottleByStreamBufferSize: Initialize - TargetBufferSize: 120s - Hysteresis: 5s
2018-09-28 09:22:23.323 Info App: ProcessRun 'StreamTranscode 35429d' Execute: /bin/ffmpeg -f avi -i file:"/media/videos/tv-shows/Hikaru's Go (2001)/Season 1/Hikaru's Go - 1x01 - Eternal Rival.avi" -threads 2 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 2775024 -bufsize 5550048 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:if(isnan(prev_forced_t),eq(t,t),gte(t,prev_forced_t+3))" -copyts -vsync -1 -codec:a:0 aac -strict experimental -ac 2 -ab 128000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/26c82fbcbb90ead9202069d9b62e3136.m3u8" -y "/config/transcoding-temp/26c82fbcbb90ead9202069d9b62e3136%d.ts"
2018-09-28 09:22:23.330 Info App: ProcessRun 'StreamTranscode 35429d' Started.
2018-09-28 09:22:23.363 Info App: ProcessRun 'StreamTranscode 35429d' Process exited with code 1
2018-09-28 09:22:23.381 Error HttpServer: Error processing request
    *** Error Report ***
    Version: 3.6.0.49
    Command line: /system/EmbyServer.dll -programdata /config -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3
    Operating system: Unix 4.13.16.100
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: True
    Processor count: 8
    Program data path: /config
    Application directory: /system
    System.Exception: Error starting ffmpeg
    Source: Emby.Server.MediaEncoding
    TargetSite: Void MoveNext()
       at Emby.Server.MediaEncoding.Api.BaseStreamingService.StartFfMpeg(StreamState state, String outputPath, EncodingOptions encodingOptions, CancellationTokenSource cancellationTokenSource, Boolean acquireResources)
       at Emby.Server.MediaEncoding.Api.Hls.DynamicHlsService.GetDynamicSegment(StreamRequest request, String segmentId)
       at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
       at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
       at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
LukePulverenti commented 6 years ago

Hi, our ffmpeg build is missing a library. It is resolved for the next release, thanks.