[FFmpeg-trac] #3941(undetermined:new): dvvideo track results in HLS stream incompatible with Safari and iOS

FFmpeg trac at avcodec.org
Thu Sep 11 09:35:21 CEST 2014


#3941: dvvideo track results in HLS stream incompatible with Safari and iOS
-------------------------------------+-------------------------------------
             Reporter:  11rcombs     |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  dvvideo,     |               Blocked By:
  HLS                                |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 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.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3941>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list