Opened 11 years ago
Closed 11 years ago
#4971 closed defect (invalid)
ffmpeg can not slice when i use HLS
| Reported by: | hiccupzhu | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | undetermined |
| Version: | git-master | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug:
How to reproduce:
ffmpeg -i /mnt/hgfs/F/manga.01.ts -vcodec copy -bsf:v h264_mp4toannexb -hls_list_size 0 -hls_segment_filename "test_%04d.ts" playlist.m3u8 szhu@vm1504:/opt/source/ffmpeg$ ./ffmpeg -version ffmpeg version N-76338-g54cd1ab Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13) configuration: libavutil 55. 5.100 / 55. 5.100 libavcodec 57. 12.100 / 57. 12.100 libavformat 57. 11.100 / 57. 11.100 libavdevice 57. 0.100 / 57. 0.100 libavfilter 6. 14.101 / 6. 14.101 libswscale 4. 0.100 / 4. 0.100 libswresample 2. 0.100 / 2. 0.100
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Attachments (1)
Change History (8)
by , 11 years ago
| Attachment: | manga.01.ts added |
|---|
comment:1 by , 11 years ago
| Reproduced by developer: | unset |
|---|---|
| Resolution: | → invalid |
| Status: | new → closed |
For future tickets: Please remember to not only post the command line that allows to reproduce the issue (or the command line and the license header) but to always post the command line together with the complete, uncut console output.
Remove the bitstream filter from your command line and please remember that this is a bug tracker, there is a user mailing list for usage questions.
comment:2 by , 11 years ago
Sorry, this is my first commit problem.
This problem reproduce simple, you can download the attachment "manga.01.ts".
Then run:
ffmpeg -i ./manga.01.ts -vcodec copy -bsf:v h264_mp4toannexb -hls_list_size 0 -hls_segment_filename "test_%04d.ts" playlist.m3u8
You will be found the file can not be sliced. I follow some sourcecode, found ffmpeg can not set the I-frame infomation(AV_PKT_FLAG_KEY).
Console output:
ffmpeg version 2.8.1 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configuration: --enable-libfaac --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-gpl --enable-nonfree --enable-libmp3lame
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mpegts, from '/mnt/hgfs/F/manga.01.ts':
Duration: 00:00:13.40, start: 1.480000, bitrate: 1252 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 720x544 [SAR 136:135 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x101](und): Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 43 kb/s
Output #0, hls, to 'output/playlist.m3u8':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Video: h264 ([27][0][0][0] / 0x001B), yuv420p, 720x544 [SAR 136:135 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1(und): Audio: aac ([15][0][0][0] / 0x000F), 44100 Hz, stereo, 43 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[NULL @ 0x3130660] Packet header is not contained in global extradata, corrupted stream or invalid MP4/AVCC bitstream
frame= 335 fps=0.0 q=-1.0 Lsize=N/A time=00:00:13.32 bitrate=N/A
video:1798kB audio:62kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
comment:3 by , 11 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
comment:4 by , 11 years ago
| Resolution: | → invalid |
|---|---|
| Status: | reopened → closed |
Please ask all usage questions on the user mailing list.
comment:5 by , 11 years ago
I have FIXED this bug, and ffmpeg can work normally.
diff --git a/ffmpeg.c b/ffmpeg.c
index f91fb7b..22766b3 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3864,6 +3864,9 @@ static int process_input(int file_index)
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts *= ist->ts_scale;
+ if(pkt.pts == AV_NOPTS_VALUE)
+ pkt.pts = ist->next_pts;
+
if ((ist->dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO ||
ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) &&
pkt.dts != AV_NOPTS_VALUE && ist->next_dts == AV_NOPTS_VALUE && !copy_ts
comment:6 by , 11 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
comment:7 by , 11 years ago
| Resolution: | → invalid |
|---|---|
| Status: | reopened → closed |
Please send your patch (with an explanation) to the development mailing list where patches are discussed. Patches on this bug tracker are ignored.



The attachment is problem file.