Advertisement
Guest User

m4aとVLC再生時のシーク

a guest
Aug 5th, 2017
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.08 KB | None | 0 0
  1.  
  2. ffmpegならこちらへ 3
  3. http://egg.2ch.net/test/read.cgi/software/1487682297/143-201 ←このあたりとその後の話。
  4.  
  5.  
  6. 現象:
  7.  RadikoPadで取得した45分のm4aをVLC(2.2.6)で再生してシークすると一瞬固まり、
  8.  スムーズなシークができない。
  9.  なおWMPやiTunesやMPC系、Quonoha+LAV Filter、Quonoha+MediaFoundationでの
  10.  再生・シークは問題無し。
  11.  
  12.  
  13. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  14.  
  15. RadikoPadで取ったffmpegの-reportより実行コマンド
  16.  
  17. ffmpeg version N-86723-g3b3501f
  18.  
  19. ffmpeg.exe" -headers "~???~" -i "~m3u8~" -acodec copy -bsf aac_adtstoasc "D:\test.m4a"
  20.  
  21.  
  22. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  23.  
  24. test.m4aを真空波動研SuperLiteで調べた結果
  25.  
  26. [test.m4a]
  27. AAC 24.00kHz 2.0ch(2/0 L+R) LC 46.71kb/s 【←★HE(SBR)ではなくLCになっている理由は不明】
  28. [Extra][2]
  29. Apple iTunes AAC-LC Audio
  30. MetaData
  31. [MPEG4] 00:03:59.991 (239.991sec) / 1,425,256Bytes
  32.  
  33. 真空波動研SuperLite 170720 / DLL 170720 Unicode
  34.  
  35. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  36.  
  37. test.m4aをffprobeで調べた結果
  38.  
  39. ffprobe.exe -hide_banner -show_format -show_streams -print_format default test.m4a
  40.  
  41. ffprobe version N-86723-g3b3501f
  42.  
  43. [STREAM]
  44. index=0
  45. codec_name=aac
  46. codec_long_name=AAC (Advanced Audio Coding)
  47. profile=HE-AAC
  48. codec_type=audio
  49. codec_time_base=1/48000
  50. codec_tag_string=mp4a
  51. codec_tag=0x6134706d
  52. sample_fmt=fltp
  53. sample_rate=48000
  54. channels=2
  55. channel_layout=stereo
  56. bits_per_sample=0
  57. id=N/A
  58. r_frame_rate=0/0
  59. avg_frame_rate=0/0
  60. time_base=1/48000
  61. start_pts=0
  62. start_time=0.000000
  63. duration_ts=11519616
  64. duration=239.992000
  65. bit_rate=46709
  66. max_bit_rate=47625
  67. bits_per_raw_sample=N/A
  68. nb_frames=5628
  69. nb_read_frames=N/A
  70. nb_read_packets=N/A
  71. DISPOSITION:default=1
  72. DISPOSITION:dub=0
  73. DISPOSITION:original=0
  74. DISPOSITION:comment=0
  75. DISPOSITION:lyrics=0
  76. DISPOSITION:karaoke=0
  77. DISPOSITION:forced=0
  78. DISPOSITION:hearing_impaired=0
  79. DISPOSITION:visual_impaired=0
  80. DISPOSITION:clean_effects=0
  81. DISPOSITION:attached_pic=0
  82. DISPOSITION:timed_thumbnails=0
  83. TAG:language=und
  84. TAG:handler_name=SoundHandler
  85. [/STREAM]
  86. [FORMAT]
  87. filename=D:\test.m4a
  88. nb_streams=1
  89. nb_programs=0
  90. format_name=mov,mp4,m4a,3gp,3g2,mj2
  91. format_long_name=QuickTime / MOV
  92. start_time=0.000000
  93. duration=239.992000
  94. size=1425256
  95. bit_rate=47510
  96. probe_score=100
  97. TAG:major_brand=M4A
  98. TAG:minor_version=512
  99. TAG:compatible_brands=isomiso2
  100. TAG:encoder=Lavf57.75.100
  101. [/FORMAT]
  102.  
  103. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  104.  
  105. test.m4aをMediaInfo 0.7.97で調べた結果
  106.  
  107. 全般
  108. 完全名称 : D:\test.m4a
  109. フォーマット : MPEG-4
  110. プロファイル : Apple audio with iTunes info
  111. コーデック ID : M4A (isom/iso2)
  112. サイズ : 1.36 MiB
  113. ながさ : 3分 59秒
  114. OBR モード : VBR モード
  115. オーバルビットレート : 47.5 Kbps
  116. 使用したエンコーダ : Lavf57.75.100
  117.  
  118. オーディオ
  119. ID : 1
  120. フォーマット : AAC
  121. フォーマット/情報 : Advanced Audio Codec
  122. プロファイル : HE-AAC / LC
  123. コーデック ID : 40
  124. ながさ : 3分 59秒
  125. ビットレートモード : VBR モード
  126. ビットレート : 48.0 Kbps
  127. チャンネル : 2 チャンネル
  128. チャンネルの位置 : Front: L R
  129. サンプルレート : 48.0 KHz / 24.0 KHz
  130. フレームレート : 23.438 fps (1024 SPF)
  131. ストリームサイズ : 1.34 MiB (98%)
  132. Default : はい
  133. AlternateGroup/String : 1
  134.  
  135. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  136. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  137.  
  138. 以下の手段のいずれかでm4aを再構築すると、VLCでのシークが改善した。
  139.  
  140.  1.MP4Box -add test.m4a test2.m4a
  141.  
  142.  2.ffmpeg -i test.m4a -c:a copy -movflags rtphint test2.m4a
  143.  
  144.    ★ただし、2ではHintトラックが追加され、容量もやや増大する。
  145.  
  146.  
  147. ※-movflags faststartは効果無し。
  148.  
  149. ※ちなみに
  150.   ffmpeg -i test.m4a -c:a copy test3.aac
  151.  としてaacファイルにすると、m4aの時よりはシークがマシになる。
  152.  
  153.  
  154. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  155.  
  156. L-SMASH Worksのboxdumperで調べたm4aのコンテナ構成
  157. (長くなるので45分のサンプルではなく別の4分のm4aファイルのもの)
  158.  
  159. 0.元のm4a→ https://pastebin.com/xAjigkb6
  160.  
  161. 1.MP4Boxで再構成したm4a→ Paste.binに貼れかったので無し
  162.  
  163. 2.-movflags rtphintで再構成したm4a→ Paste.binに貼れかったので無し
  164.  
  165. ●大きな違い
  166.  ・1と2は [stsc: Sample To Chunk Box] のエントリ数が多い。
  167.  ・1と2は [stco: Chunk Offset Box] のchunk_offsetの数が多い。
  168.  ・2はHintトラックが追加されている。
  169.  
  170. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  171.  
  172. 結論
  173.  どうしてもVLCでスムーズなシークがしたいならMP4Boxで再構築かな。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement