Hi Mark, It works with the applying <https://git.libav.org/?p=libav.git;a=commit;h= 0cf86fabfa5820596cca2cfead63c6f8df76c3f2> The JW player seem can only play streams with global headers.
Thank you very much. Thanks again Archer Chang 2016-12-05 23:52 GMT+08:00 Mark Thompson <[email protected]>: > On 05/12/16 12:51, Archer Chang wrote: > > I use the VAAPI HW ACCEL to transcode file to the FLV format that the > > command as follows. > > > > ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi > > -hwaccel_output_format vaapi -hwaccel_lax_profile_check -i infile.mkv > -vf > > "format=nv12|vaapi,hwupload" -c:v h264_vaapi -c:a aac -ac 2 -ar 44100 > > *outfile1.flv* > > > > The transcoded file(outfile.flv) only can hear the audio but no video > that > > played by the JW player. But when I transcode the file to the MKV and > make > > the stream copy to the FLV format and > > this file can be played normally by the JW player. The command as > follows. > > > > ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi > > -hwaccel_output_format vaapi -hwaccel_lax_profile_check -i infile.mkv > -vf > > "format=nv12|vaapi,hwupload" -c:v h264_vaapi -c:a aac -ac 2 -ar 44100 > > outfile.mkv > > ffmpeg -i outfile.mkv -c:v copy -c:a copy *outfile2.flv* > > > > I try to use the flv parser utility to find out the difference between > the > > outfile1.flv and the outfile2.flv. > > Seems the Video Tag1 were different. the content as follows. > > > > outfile1.flv (transcode using the ffmpeg directly with VAAPI) > > 09 00 00 05 00 00 00 00 00 00 00 17 00 00 00 00 > > > > outfile2.flv(mke the stream copy from transcoded file) > > 09 00 00 30 00 00 00 00 00 00 00 17 00 00 00 00 > > 01 6E 00 28 FF E1 00 1A 67 6E 00 28 A6 CD 94 07 > > 80 22 7E 5C 04 40 00 00 FA 40 00 2E E0 03 C6 0C > > 65 80 01 00 06 68 EB E3 CB 22 C0 > > > > I not familiar with the video transcoding. I trace the flvenc.c seems the > > par->extradata_size would be 0 when use the VAAPI to transcode the file > to > > the FLV directly, > > And it has some value which makes stream copy or use SW transcode > > > > ffmpeg -i infile.mkv -c:v libx264 -c:a aac -ac 2 -ar 44100 > *outfile.flv > > (can be played normally by JW Player)* > > Is this JW player something which can only play streams with global > headers, then? > > If so, try applying <https://git.libav.org/?p=libav.git;a=commit;h= > 0cf86fabfa5820596cca2cfead63c6f8df76c3f2> and see if it works. > > (This is on the assumption that you are using a packed-header VAAPI driver > like i965, if you are using a whole-stream driver like mesa/gallium then it > isn't really fixable.) > > - Mark > _______________________________________________ > ffmpeg-user mailing list > [email protected] > http://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
