Opened 10 years ago
Closed 10 years ago
#3941 closed defect (invalid)
dvvideo track results in HLS stream incompatible with Safari and iOS
Reported by: | Ridley Combs | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | dvvideo, HLS |
Cc: | rodger.combs@gmail.com | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
The file dv.mov, uploaded to upload.ffmpeg.org in "dv.zip" (apparently it's rather poorly-compressed to the point where zip helps by an order of magnitude), seems to be incompatible with Safari and iOS's video players when transcoded to HLS using AAC and H.264.
How to reproduce:
$ ffmpeg -i dv.mov -vcodec libx264 -acodec libfdk_aac -sn -f segment -segment_format mpegts -segment_list_type hls -segment_list dv_test/index.m3u8 -segment_time 1 -bsf:v h264_mp4toannexb -preset veryfast -flags -global_header -copyts -loglevel verbose -pix_fmt yuv420p -y dv_test/media-%05d.ts ffmpeg version N-66154-g1654ca7 Copyright (c) 2000-2014 the FFmpeg developers built on Sep 5 2014 23:23:09 with Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn) configuration: --extra-cflags='-march=native' --enable-optimizations --disable-stripping --enable-debug --enable-libx265 --enable-gpl --enable-libopus --enable-version3 --enable-nonfree --enable-postproc --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-gnutls --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --prefix=/usr/local --enable-static --enable-shared --enable-avresample --enable-vda --enable-opencl --enable-libzvbi --cc=clang libavutil 54. 7.100 / 54. 7.100 libavcodec 56. 1.100 / 56. 1.100 libavformat 56. 4.100 / 56. 4.100 libavdevice 56. 0.100 / 56. 0.100 libavfilter 5. 1.100 / 5. 1.100 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 0.100 / 3. 0.100 libswresample 1. 1.100 / 1. 1.100 libpostproc 53. 0.100 / 53. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'dv.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2014-09-09 23:17:13 xmp : <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> : <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 "> : <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> : <rdf:Description rdf:about="" : xmlns:xmp="http://ns.adobe.com/xap/1.0/" : xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" : xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" : xmlns:creatorAtom="http://ns.adobe.com/creatorAtom/1.0/" : xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" : xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" : xmlns:dc="http://purl.org/dc/elements/1.1/" : xmp:CreateDate="2014-09-09T19:17:13-04:00" : xmp:ModifyDate="2014-09-09T19:17:18-04:00" : xmp:CreatorTool="Adobe Premiere Pro CS6 (Macintosh)" : xmp:MetadataDate="2014-09-09T19:17:18-04:00" : xmpDM:startTimeScale="30000" : xmpDM:startTimeSampleSize="1001" : xmpDM:videoFrameRate="29.970030" : xmpDM:videoFieldOrder="Lower" : xmpDM:videoPixelAspectRatio="10/11" : xmpDM:audioSampleRate="48000" : xmpDM:audioSampleType="16Int" : xmpDM:audioChannelType="Stereo" : xmpMM:OriginalDocumentID="xmp.did:01801174072068118083AC556BEDC588" : xmpMM:InstanceID="xmp.iid:03801174072068118083AC556BEDC588" : xmpMM:DocumentID="xmp.did:02801174072068118083AC556BEDC588" : dc:format="QuickTime"> : <xmpDM:duration : xmpDM:value="330330" : xmpDM:scale="1/30000"/> : <xmpDM:altTimecode : xmpDM:timeValue="00;00;00;00" : xmpDM:timeFormat="2997DropTimecode"/> : <xmpDM:projectRef : xmpDM:type="movie"/> : <xmpDM:videoFrameSize : stDim:w="720" : stDim:h="480" : stDim:unit="pixel"/> : <xmpDM:startTimecode : xmpDM:timeFormat="2997DropTimecode" : xmpDM:timeValue="00;00;00;00"/> : <creatorAtom:windowsAtom : creatorAtom:extension=".prproj" : creatorAtom:invocationFlags="/L"/> : <creatorAtom:macAtom : creatorAtom:applicationCode="1347449455" : creatorAtom:invocationAppleEvent="1129468018" : creatorAtom:posixProjectPath="/Users/hugoleveille/Desktop/PROJECT_AFRIQUE/dv.prproj"/> : <xmpMM:History> : <rdf:Seq> : <rdf:li : stEvt:action="created" : stEvt:instanceID="xmp.iid:01801174072068118083AC556BEDC588" : stEvt:when="2014-09-09T19:17:13-04:00" : stEvt:softwareAgent="Adobe Premiere Pro CS6 (Macintosh)"/> : <rdf:li : stEvt:action="saved" : stEvt:instanceID="xmp.iid:03801174072068118083AC556BEDC588" : stEvt:when="2014-09-09T19:17:18-04:00" : stEvt:softwareAgent="Adobe Premiere Pro CS6 (Macintosh)" : stEvt:changed="/"/> : </rdf:Seq> : </xmpMM:History> : </rdf:Description> : </rdf:RDF> : </x:xmpmeta> : : : : : : : : : : : : : : : : : : : : : : <?xpacket end="w"?> Duration: 00:00:11.01, start: 0.000000, bitrate: 30315 kb/s Stream #0:0(eng): Video: dvvideo (dvc / 0x20637664), yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s, SAR 10:11 DAR 15:11, 29.97 fps, 29.97 tbr, 30k tbn, 29.97 tbc (default) Metadata: creation_time : 2014-09-09 23:17:13 handler_name : Apple Alias Data Handler encoder : DV/DVCPRO - NTSC timecode : 00:00:00;00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: creation_time : 2014-09-09 23:17:13 handler_name : Apple Alias Data Handler timecode : 00:00:00;00 Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default) Metadata: creation_time : 2014-09-09 23:17:18 handler_name : Apple Alias Data Handler timecode : 00:00:00;00 [graph 0 input from stream 0:0 @ 0x7ff58a7027e0] w:720 h:480 pixfmt:yuv411p tb:1/30000 fr:30000/1001 sar:10/11 sws_param:flags=2 [auto-inserted scaler 0 @ 0x7ff58a703320] w:iw h:ih flags:'0x4' interl:0 [format @ 0x7ff58a702d00] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format' [auto-inserted scaler 0 @ 0x7ff58a703320] w:720 h:480 fmt:yuv411p sar:10/11 -> w:720 h:480 fmt:yuv420p sar:10/11 flags:0x4 [graph 1 input from stream 0:1 @ 0x7ff58a50e0a0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x3 [libx264 @ 0x7ff58b917400] using SAR=10/11 [libx264 @ 0x7ff58b917400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2 [libx264 @ 0x7ff58b917400] profile High, level 3.0 [segment @ 0x7ff58b916800] Codec for stream 0 does not use global headers but container format requires global headers [segment @ 0x7ff58b916800] Codec for stream 1 does not use global headers but container format requires global headers [segment @ 0x7ff58b916800] Selected stream id:0 type:video [mpegts @ 0x7ff58b935c00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58b935c00] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, segment, to 'dv_test/media-%05d.ts': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt xmp : <?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> : <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 "> : <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> : <rdf:Description rdf:about="" : xmlns:xmp="http://ns.adobe.com/xap/1.0/" : xmlns:xmpDM="http://ns.adobe.com/xmp/1.0/DynamicMedia/" : xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" : xmlns:creatorAtom="http://ns.adobe.com/creatorAtom/1.0/" : xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" : xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" : xmlns:dc="http://purl.org/dc/elements/1.1/" : xmp:CreateDate="2014-09-09T19:17:13-04:00" : xmp:ModifyDate="2014-09-09T19:17:18-04:00" : xmp:CreatorTool="Adobe Premiere Pro CS6 (Macintosh)" : xmp:MetadataDate="2014-09-09T19:17:18-04:00" : xmpDM:startTimeScale="30000" : xmpDM:startTimeSampleSize="1001" : xmpDM:videoFrameRate="29.970030" : xmpDM:videoFieldOrder="Lower" : xmpDM:videoPixelAspectRatio="10/11" : xmpDM:audioSampleRate="48000" : xmpDM:audioSampleType="16Int" : xmpDM:audioChannelType="Stereo" : xmpMM:OriginalDocumentID="xmp.did:01801174072068118083AC556BEDC588" : xmpMM:InstanceID="xmp.iid:03801174072068118083AC556BEDC588" : xmpMM:DocumentID="xmp.did:02801174072068118083AC556BEDC588" : dc:format="QuickTime"> : <xmpDM:duration : xmpDM:value="330330" : xmpDM:scale="1/30000"/> : <xmpDM:altTimecode : xmpDM:timeValue="00;00;00;00" : xmpDM:timeFormat="2997DropTimecode"/> : <xmpDM:projectRef : xmpDM:type="movie"/> : <xmpDM:videoFrameSize : stDim:w="720" : stDim:h="480" : stDim:unit="pixel"/> : <xmpDM:startTimecode : xmpDM:timeFormat="2997DropTimecode" : xmpDM:timeValue="00;00;00;00"/> : <creatorAtom:windowsAtom : creatorAtom:extension=".prproj" : creatorAtom:invocationFlags="/L"/> : <creatorAtom:macAtom : creatorAtom:applicationCode="1347449455" : creatorAtom:invocationAppleEvent="1129468018" : creatorAtom:posixProjectPath="/Users/hugoleveille/Desktop/PROJECT_AFRIQUE/dv.prproj"/> : <xmpMM:History> : <rdf:Seq> : <rdf:li : stEvt:action="created" : stEvt:instanceID="xmp.iid:01801174072068118083AC556BEDC588" : stEvt:when="2014-09-09T19:17:13-04:00" : stEvt:softwareAgent="Adobe Premiere Pro CS6 (Macintosh)"/> : <rdf:li : stEvt:action="saved" : stEvt:instanceID="xmp.iid:03801174072068118083AC556BEDC588" : stEvt:when="2014-09-09T19:17:18-04:00" : stEvt:softwareAgent="Adobe Premiere Pro CS6 (Macintosh)" : stEvt:changed="/"/> : </rdf:Seq> : </xmpMM:History> : </rdf:Description> : </rdf:RDF> : </x:xmpmeta> : : : : : : : : : : : : : : : : : : : : : : <?xpacket end="w"?> encoder : Lavf56.4.100 Stream #0:0(eng): Video: h264 (libx264), yuv420p, 720x480 [SAR 10:11 DAR 15:11], q=-1--1, 29.97 fps, 29.97 tbn, 29.97 tbc (default) Metadata: creation_time : 2014-09-09 23:17:13 handler_name : Apple Alias Data Handler timecode : 00:00:00;00 encoder : Lavc56.1.100 libx264 Stream #0:1(eng): Audio: aac (libfdk_aac), 48000 Hz, stereo, s16, 139 kb/s (default) Metadata: creation_time : 2014-09-09 23:17:13 handler_name : Apple Alias Data Handler timecode : 00:00:00;00 encoder : Lavc56.1.100 libfdk_aac Stream mapping: Stream #0:0 -> #0:0 (dvvideo (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (libfdk_aac)) Press [q] to stop, [?] for help [segment @ 0x7ff58b916800] segment:'dv_test/media-00000.ts' starts with packet stream:0 pts:2 pts_time:0.0667333 frame:0 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00000.ts' count:0 ended [mpegts @ 0x7ff58b935c00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58b935c00] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00001.ts' starts with packet stream:0 pts:59 pts_time:1.96863 frame:57 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00001.ts' count:1 ended [mpegts @ 0x7ff58b044400] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58b044400] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00002.ts' starts with packet stream:0 pts:90 pts_time:3.003 frame:88 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0.67 bitrate=N/A [segment @ 0x7ff58b916800] segment:'dv_test/media-00002.ts' count:2 ended [mpegts @ 0x7ff58b92dc00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58b92dc00] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00003.ts' starts with packet stream:0 pts:152 pts_time:5.07173 frame:150 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00003.ts' count:3 ended [mpegts @ 0x7ff58c039400] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58c039400] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00004.ts' starts with packet stream:0 pts:212 pts_time:7.07373 frame:210 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00004.ts' count:4 ended [mpegts @ 0x7ff58b92dc00] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58b92dc00] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00005.ts' starts with packet stream:0 pts:242 pts_time:8.07473 frame:240 No more output streams to write to, finishing.:09.74 bitrate=N/A [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00005.ts' count:5 ended [mpegts @ 0x7ff58c039400] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead. Last message repeated 1 times [mpegts @ 0x7ff58c039400] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts [segment @ 0x7ff58b916800] segment:'dv_test/media-00006.ts' starts with packet stream:0 pts:329 pts_time:10.9776 frame:327 [segment @ 0x7ff58b916800] EXT-X-MEDIA-SEQUENCE:0 [segment @ 0x7ff58b916800] segment:'dv_test/media-00006.ts' count:6 ended frame= 330 fps=317 q=-1.0 Lsize=N/A time=00:00:11.02 bitrate=N/A video:396kB audio:189kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Input file #0 (dv.mov): Input stream #0:0 (video): 330 packets read (39600000 bytes); 330 frames decoded; Input stream #0:1 (audio): 517 packets read (2114112 bytes); 517 frames decoded (528528 samples); Input stream #0:2 (data): 0 packets read (0 bytes); Total: 847 packets (41714112 bytes) demuxed Output file #0 (dv_test/media-%05d.ts): Output stream #0:0 (video): 330 frames encoded; 330 packets muxed (405603 bytes); Output stream #0:1 (audio): 517 frames encoded (528528 samples); 519 packets muxed (193256 bytes); Total: 849 packets (598859 bytes) muxed [libx264 @ 0x7ff58b917400] frame I:14 Avg QP:11.06 size: 4262 [libx264 @ 0x7ff58b917400] frame P:119 Avg QP:18.01 size: 1745 [libx264 @ 0x7ff58b917400] frame B:197 Avg QP:20.70 size: 702 [libx264 @ 0x7ff58b917400] consecutive B-frames: 19.4% 1.2% 5.5% 73.9% [libx264 @ 0x7ff58b917400] mb I I16..4: 84.3% 0.9% 14.8% [libx264 @ 0x7ff58b917400] mb P I16..4: 9.4% 0.3% 2.0% P16..4: 1.6% 0.8% 0.8% 0.0% 0.0% skip:85.1% [libx264 @ 0x7ff58b917400] mb B I16..4: 0.3% 0.0% 0.3% B16..8: 1.9% 0.6% 0.5% direct: 0.4% skip:96.0% L0:40.6% L1:50.3% BI: 9.2% [libx264 @ 0x7ff58b917400] 8x8 transform intra:1.8% inter:14.5% [libx264 @ 0x7ff58b917400] coded y,uvDC,uvAC intra: 12.4% 0.0% 0.0% inter: 1.3% 0.0% 0.0% [libx264 @ 0x7ff58b917400] i16 v,h,dc,p: 87% 9% 4% 0% [libx264 @ 0x7ff58b917400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 20% 32% 5% 5% 3% 6% 3% 4% [libx264 @ 0x7ff58b917400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 33% 24% 3% 2% 3% 3% 2% 3% [libx264 @ 0x7ff58b917400] i8c dc,h,v,p: 100% 0% 0% 0% [libx264 @ 0x7ff58b917400] Weighted P-Frames: Y:5.9% UV:0.0% [libx264 @ 0x7ff58b917400] kb/s:294.69
The output M3U8 is not playable in Safari and iOS's video players.
I also have a .avi with a dvvideo track that exhibits the same issue, but it's a home video that the user has requested not be shared publicly; if an individual developer would like to examine it, I can provide it to them.
Change History (2)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
…As it turns out, Safari also complains about an indistinguishable error if you try to use HLS from a local file, and I failed to check for that. I was, at some point, missing a -pix_fmt
; no ffmpeg bug here, just an rcombs one. Closing, sorry about that.
-map_metadata -1
?Am I correct that it works fine using
-f lavfi -i testsrc
as input?Does it work with a dvvideo file created by FFmpeg? (With
-f lavfi -i testsrc
as input or as written bymake fate-vsynth1-dv
.)Just to make sure:
Are you aware that the following configure options have no effect and that (in the case of vda) they don't fail if a requirement is missing?