soniCron 5 Posted October 27, 2016 Share Posted October 27, 2016 I've started archiving my content in VP9/Opus WEBM format, however, I've run into an issue with certain multi-channel audio formats in the browser. (Chrome 54.0.2840.71) For example, VP9@1080p plays wonderfully, from Opus@stereo/5.1ch. However, Opus@7.1ch forces a transcode, as per the logs. I dunno if Chrome supports 7.1 (5.1 works fine for what it's worth), and that doesn't really bother me. What I don't understand is, why does it force transcoding of the whole stream? Since the video is valid and playable, shouldn't ffmpeg be run with direct stream copy of the video and only transcode the audio..? Link to comment Share on other sites More sharing options...
Luke 37008 Posted October 27, 2016 Share Posted October 27, 2016 Hi there, welcome. In order to best answer this, please provide the information requested in how to report a media playback issue. thanks ! Link to comment Share on other sites More sharing options...
soniCron 5 Posted October 27, 2016 Author Share Posted October 27, 2016 (edited) Emby 3.0.8300.0, Linux, official docker container. Media info: Media Info Video CodecVP9 ProfileProfile 0 Level-99 Resolution1920x808 Aspect ratio2.40:1 AnamorphicNo InterlacedNo Framerate23.97599 Bitrate2197 kbps Pixel formatyuv420p Ref frames1 TitleEng video Audio Languageeng CodecOPUS Layout7.1 Channels8 ch Sample rate48000 Hz DefaultYes TitleEng video Containerwebm Path/movies/video/video.webm Server Log relevant lines: UserId=4c972c2b39f4443b8b24a573cfc45d12&StartTimeTicks=26125692450. UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36 2016-10-27 15:28:09.5341 Info App: Profile: Unknown Profile, Path: /movies/video/video.webm, isEligibleForDirectPlay: True, isEligibleForDirectStream: True 2016-10-27 15:28:09.5341 Info App: Profile: VideoAudioCodecProfile, DirectPlay=false. Reason=Unknown Profile.AudioChannels Condition: LessThanEqual. ConditionValue: 6. IsRequired: True. Path: /movies/video/video.webm 2016-10-27 15:28:09.5341 Info App: RemoteClientBitrateLimit: 4000000, RemoteIp: 10.0.1.28, IsInLocalNetwork: True 2016-10-27 15:28:09.5341 Info App: Profile: Unknown Profile, Path: /movies/video/video.webm, isEligibleForDirectPlay: True, isEligibleForDirectStream: True 2016-10-27 15:28:09.5341 Info App: Profile: VideoAudioCodecProfile, DirectPlay=false. Reason=Unknown Profile.AudioChannels Condition: LessThanEqual. ConditionValue: 6. IsRequired: True. Path: /movies/video/video.webm 2016-10-27 15:28:09.5341 Info App: RemoteClientBitrateLimit: 4000000, RemoteIp: 10.0.1.28, IsInLocalNetwork: True 2016-10-27 15:28:09.5341 Info App: Profile: Unknown Profile, Path: /movies/video/video.webm, isEligibleForDirectPlay: True, isEligibleForDirectStream: True 2016-10-27 15:28:09.5341 Info App: Profile: VideoAudioCodecProfile, DirectPlay=false. Reason=Unknown Profile.AudioChannels Condition: LessThanEqual. ConditionValue: 6. IsRequired: True. Path: /movies/video/video.webm Transcoding log: http://10.0.1.26:8096/emby/videos/08a462db0e16ee04d05087949fc0620f/stream.mkv?DeviceId=86d1d8b61fe0b624a82676fc8a7508b3f509b642&MediaSourceId=08a462db0e16ee04d05087949fc0620f&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=1&VideoBitrate=903401412&AudioBitrate=128000&MaxAudioChannels=6&StartTimeTicks=26125692450&Level=51&Profile=high&PlaySessionId=719ddea4abc1489f8c7421627d860289&api_key=69dbd23293e243b092458f6c54d46f24&CopyTimestamps=true&EnableSubtitlesInManifest=false&Tag=0d38ebbf4ec552d1cb11c0f0e47c7030&EnableSplittingOnNonKeyFrames=false {"Protocol":"File","Id":"08a462db0e16ee04d05087949fc0620f","Path":"/movies/video/video.webm","Type":"Default","Container":"webm","Name":"1080P/VP9/OPUS","ETag":"0d38ebbf4ec552d1cb11c0f0e47c7030","RunTimeTicks":73422040000,"ReadAtNativeFramerate":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"SupportsProbing":true,"VideoType":"VideoFile","MediaStreams":[{"Codec":"vp9","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"583/13978","Title":"video","DisplayTitle":"Eng video","IsInterlaced":false,"BitRate":2197739,"RefFrames":1,"IsDefault":true,"IsForced":false,"Height":808,"Width":1920,"AverageFrameRate":23.97599,"RealFrameRate":23.97599,"Profile":"Profile 0","Type":"Video","AspectRatio":"2.40:1","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuv420p","Level":-99,"IsAnamorphic":false},{"Codec":"opus","Language":"eng","TimeBase":"1/1000","CodecTimeBase":"1/48000","Title":"video","DisplayTitle":"Eng video","IsInterlaced":false,"ChannelLayout":"7.1","Channels":8,"SampleRate":48000,"IsDefault":true,"IsForced":false,"Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"PlayableStreamFileNames":[],"Formats":[],"Bitrate":2197739,"RequiredHttpHeaders":{}} /bin/ffmpeg -ss 00:43:32.569 -fflags +genpts -i file:"/movies/video/video.webm" -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -force_key_frames "expr:gte(t,n_forced*5)" -vf "scale=trunc(min(max(iw\,ih*dar)\,1280)/2)*2:trunc(ow/dar/2)*2" -copyts -avoid_negative_ts disabled -start_at_zero -pix_fmt yuv420p -preset superfast -crf 20 -tune zerolatency -b:v 2197739 -maxrate 2197739 -bufsize 4395478 -vsync -1 -profile:v high -level 4.1 -map_metadata -1 -threads 0 -codec:a:0 libmp3lame -ac 2 -ab 128000 -af "aresample=async=1,volume=2" -y "/config/transcoding-temp/d1c5901a8289097c67d6d05cf0b95ca8.mkv" ffmpeg version 3.1.4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.4.1 (Debian 5.4.1-2) 20160904 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libzimg --cc=gcc-5 --disable-ffplay libavutil 55. 28.100 / 55. 28.100 libavcodec 57. 48.101 / 57. 48.101 libavformat 57. 41.100 / 57. 41.100 libavdevice 57. 0.101 / 57. 0.101 libavfilter 6. 47.100 / 6. 47.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 1.100 / 2. 1.100 libpostproc 54. 0.100 / 54. 0.100 Input #0, matroska,webm, from 'file:/movies/video/video.webm': Metadata: title : video encoder : Lavf57.53.100 Duration: 02:02:22.20, start: -0.007000, bitrate: 2197 kb/s Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 1920x808, SAR 1:1 DAR 240:101, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default) Metadata: title : video Stream #0:1(eng): Audio: opus, 48000 Hz, 7.1, fltp (default) Metadata: title : video [libx264 @ 0x554c820] using SAR=807/808 [libx264 @ 0x554c820] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 [libx264 @ 0x554c820] profile High, level 4.1 [libx264 @ 0x554c820] 264 - core 148 r292 72d53ab - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 lookahead_threads=2 sliced_threads=1 slices=2 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=20.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2197 vbv_bufsize=4395 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00 [matroska @ 0x55786e0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. Last message repeated 1 times Output #0, matroska, to '/config/transcoding-temp/d1c5901a8289097c67d6d05cf0b95ca8.mkv': Metadata: encoder : Lavf57.41.100 Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 1280x538 [SAR 807:808 DAR 240:101], q=-1--1, 2197 kb/s, 23.98 fps, 1k tbn, 23.98 tbc (default) Metadata: encoder : Lavc57.48.101 libx264 Side data: cpb: bitrate max/min/avg: 2197000/0/2197000 buffer size: 4395000 vbv_delay: -1 Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: encoder : Lavc57.48.101 libmp3lame Stream mapping: Stream #0:0 -> #0:0 (vp9 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (opus (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help frame= 12 fps=0.0 q=22.0 size= 365kB time=00:43:33.48 bitrate= 1.1kbits/s speed=5.2e+03x frame= 39 fps= 39 q=29.0 size= 841kB time=00:43:34.63 bitrate= 2.6kbits/s speed=2.59e+03x frame= 69 fps= 46 q=31.0 size= 1281kB time=00:43:35.88 bitrate= 4.0kbits/s speed=1.73e+03x frame= 99 fps= 49 q=28.0 size= 1627kB time=00:43:37.08 bitrate= 5.1kbits/s speed=1.29e+03x frame= 132 fps= 52 q=28.0 size= 1949kB time=00:43:38.52 bitrate= 6.1kbits/s speed=1.03e+03x frame= 162 fps= 53 q=25.0 size= 2238kB time=00:43:39.74 bitrate= 7.0kbits/s speed= 859x frame= 196 fps= 55 q=24.0 size= 2623kB time=00:43:41.16 bitrate= 8.2kbits/s speed= 737x frame= 229 fps= 56 q=25.0 size= 3033kB time=00:43:42.53 bitrate= 9.5kbits/s speed= 646x frame= 261 fps= 57 q=27.0 size= 3429kB time=00:43:43.87 bitrate= 10.7kbits/s speed= 575x frame= 296 fps= 58 q=26.0 size= 3835kB time=00:43:45.36 bitrate= 12.0kbits/s speed= 518x frame= 330 fps= 59 q=26.0 size= 4244kB time=00:43:46.75 bitrate= 13.2kbits/s speed= 472x frame= 362 fps= 60 q=26.0 size= 4609kB time=00:43:48.09 bitrate= 14.4kbits/s speed= 432x frame= 396 fps= 60 q=27.0 size= 5020kB time=00:43:49.49 bitrate= 15.6kbits/s speed= 399x frame= 430 fps= 61 q=27.0 size= 5431kB time=00:43:50.88 bitrate= 16.9kbits/s speed= 371x frame= 462 fps= 61 q=29.0 size= 5836kB time=00:43:52.27 bitrate= 18.2kbits/s speed= 347x frame= 495 fps= 61 q=29.0 size= 6332kB time=00:43:53.64 bitrate= 19.7kbits/s speed= 325x frame= 529 fps= 61 q=24.0 size= 6685kB time=00:43:55.01 bitrate= 20.8kbits/s speed= 306x frame= 563 fps= 62 q=18.0 size= 6911kB time=00:43:56.49 bitrate= 21.5kbits/s speed= 289x frame= 595 fps= 62 q=18.0 size= 7203kB time=00:43:57.81 bitrate= 22.4kbits/s speed= 274x frame= 624 fps= 62 q=17.0 size= 7466kB time=00:43:59.06 bitrate= 23.2kbits/s speed= 261x frame= 654 fps= 62 q=18.0 size= 7813kB time=00:44:00.31 bitrate= 24.2kbits/s speed= 249x frame= 682 fps= 61 q=18.0 size= 8196kB time=00:44:01.44 bitrate= 25.4kbits/s speed= 237x frame= 706 fps= 61 q=22.0 size= 8628kB time=00:44:02.45 bitrate= 26.7kbits/s speed= 227x frame= 731 fps= 60 q=24.0 size= 8977kB time=00:44:03.43 bitrate= 27.8kbits/s speed= 218x frame= 756 fps= 60 q=24.0 size= 9273kB time=00:44:04.49 bitrate= 28.7kbits/s speed= 209x frame= 781 fps= 59 q=28.0 size= 9615kB time=00:44:05.52 bitrate= 29.8kbits/s speed= 201x frame= 803 fps= 59 q=25.0 size= 9852kB time=00:44:06.48 bitrate= 30.5kbits/s speed= 194x frame= 828 fps= 58 q=26.0 size= 10165kB time=00:44:07.49 bitrate= 31.5kbits/s speed= 187x frame= 854 fps= 58 q=25.0 size= 10460kB time=00:44:08.64 bitrate= 32.4kbits/s speed= 180x frame= 880 fps= 58 q=25.0 size= 10753kB time=00:44:09.72 bitrate= 33.2kbits/s speed= 175x frame= 906 fps= 58 q=25.0 size= 11071kB time=00:44:10.75 bitrate= 34.2kbits/s speed= 169x Enter command: <target>|all <time>|-1 <command>[ <argument>] Parse error, at least 3 arguments were expected, only -1 given in string '' frame= 926 fps= 38 q=24.0 Lsize= 11318kB time=00:44:11.66 bitrate= 35.0kbits/s speed= 107x video:10668kB audio:611kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.346612% [libx264 @ 0x554c820] frame I:533 Avg QP:21.15 size: 12969 [libx264 @ 0x554c820] frame P:393 Avg QP:18.28 size: 10204 [libx264 @ 0x554c820] mb I I16..4: 24.2% 69.2% 6.6% [libx264 @ 0x554c820] mb P I16..4: 7.3% 4.7% 0.7% P16..4: 62.0% 0.0% 0.0% 0.0% 0.0% skip:25.2% [libx264 @ 0x554c820] 8x8 transform intra:66.4% inter:48.8% [libx264 @ 0x554c820] coded y,uvDC,uvAC intra: 32.6% 30.0% 4.0% inter: 23.1% 16.7% 0.3% [libx264 @ 0x554c820] i16 v,h,dc,p: 48% 28% 12% 13% [libx264 @ 0x554c820] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 18% 18% 9% 7% 7% 8% 6% 7% [libx264 @ 0x554c820] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 20% 16% 10% 5% 6% 5% 6% 6% [libx264 @ 0x554c820] i8c dc,h,v,p: 56% 19% 20% 5% [libx264 @ 0x554c820] Weighted P-Frames: Y:3.6% UV:1.0% [libx264 @ 0x554c820] kb/s:2262.53 Edited October 27, 2016 by soniCron Link to comment Share on other sites More sharing options...
Happy2Play 8242 Posted October 27, 2016 Share Posted October 27, 2016 (edited) Is the level correct "-99"? Or is that considered a undefined values and presents "-99"? VP9 Level ID = 2, Length = 1 The data is an unsigned 8 bit integer that specifies the VP9 level. Possible values are: 10: Level 1 11: Level 1.1 20: Level 2 21: Level 2.1 30: Level 3 31: Level 3.1 40: Level 4 41: Level 4.1 50: Level 5 51: Level 5.1 52: Level 5.2 60: Level 6 61: Level 6.1 62: Level 6.2 All other values are currently undefined. See VP9 Levels [2] for definitions. Edited October 27, 2016 by Happy2Play Link to comment Share on other sites More sharing options...
Luke 37008 Posted October 27, 2016 Share Posted October 27, 2016 We'll remove the channel count condition for the next release, thanks. 1 Link to comment Share on other sites More sharing options...
soniCron 5 Posted October 29, 2016 Author Share Posted October 29, 2016 Just noticed it also occurs on the FireTV app as well, fwiw... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now