[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